  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		wuno2001
 
 
  註冊時間: 2007-02-09 文章: 56
 
  第 1 樓
  | 
		
			
				 發表於: 星期四 一月 31, 2008 4:28 pm    文章主題: 如何將一字串資料欄位,直接用select語法直接轉出成數值? | 
				     | 
			 
			
				
  | 
			 
			
				請問各位大大,
 
如何將一字串資料欄位,直接用select語法直接轉出成數值?
 
我用 select val(字串資料欄位) as 數值 from 資料表 into cursor temp
 
結果內容都變 *
 
但用 ? val(字串資料欄位) 檢查,郤可得到正確的 數值
 
有其他可用的轉換函數? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 2 樓
  | 
		
			
				 發表於: 星期五 二月 01, 2008 9:37 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				經實際測試過並不會有你說的情形,
 
數字的長度 = 字串欄位的長度 + SET DECIMALS TO _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		wuno2001
 
 
  註冊時間: 2007-02-09 文章: 56
 
  第 3 樓
  | 
		
			
				 發表於: 星期五 二月 01, 2008 4:19 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我是用VFP6.0,不知道是不是版本這個原因.
 
我試用 list stru
 
去檢查產生的欄位型態,結果是:數值型態,寛度1,小數位數0
 
所以內容都是* | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		215001
 
 
  註冊時間: 2003-06-11 文章: 393
 
  第 4 樓
  | 
		
			
				 發表於: 星期五 二月 01, 2008 5:06 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我於VFP6 及 VFP8 測試也都正常
 
建議你另外建立資料檔,再做測試看看
 
若還是不行,可將測試的資料畫面貼上來,比較好幫你解決 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		Erwin
 
 
  註冊時間: 2003-03-28 文章: 97 來自: 台北
  第 5 樓
  | 
		
			
				 發表於: 星期日 二月 03, 2008 12:59 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				請試
 
select iif(val(字串資料欄位)=0, 0000000000, val(字串資料欄位)) as 數值 from 資料表 into cursor temp | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 6 樓
  | 
		
			
				 發表於: 星期一 二月 04, 2008 10:09 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				[未經實驗,講錯不管!!   ^_^  ]
 
 
我印象中,
 
轉出格式由第一筆紀錄決定 (?)
 
所以第一筆如果放非數值的資料,
 
是不是就轉不出來? _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		sken
 
 
  註冊時間: 2004-02-17 文章: 67
 
  第 7 樓
  | 
		
			
				 發表於: 星期一 二月 04, 2008 12:18 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | syntech 寫到: | 	 		  [未經實驗,講錯不管!!   ^_^  ]
 
 
我印象中,
 
轉出格式由第一筆紀錄決定 (?)
 
所以第一筆如果放非數值的資料,
 
是不是就轉不出來? | 	  
 
 
syntech前輩! 你沒說錯,的確是如此!之前沒發現~為此煩惱了好久!
 
但是又不常遇到!遇到時又忘了!
 
 
可是樓主的狀況!我就不確定是不是這原因引起的!
 
提供的原因訊息太少了!
 
 
像Erwin兄,所提供的
 
select iif(val(字串資料欄位)=0, 0000000000, val(字串資料欄位)) as 數值 from 資料表 into cursor 
 
如果打成
 
select iif(val(字串資料欄位)=0, 0, val(字串資料欄位)) as 數值 from 資料表 into cursor 
 
一但第一筆的iif()成立,就會發生後面筆數的欄位寬度不足,變成* | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		wuno2001
 
 
  註冊時間: 2007-02-09 文章: 56
 
  第 8 樓
  | 
		
			
				 發表於: 星期一 二月 04, 2008 2:32 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				感謝各位大大的回應:
 
這樣就解決了,因為第一筆是null的關係(sorry,有點烏龍   ).
 
select iif(isnull(字串資料欄位), 000000000.00, val(字串資料欄位)) as 數值 from  資料表 into cursor temp | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 9 樓
  | 
		
			
				 發表於: 星期一 二月 04, 2008 2:41 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				雖然我ㄧ開始就這樣猜,
 
但是我不想讓別人失去DEBUG及討論的樂趣.   XD _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		Erwin
 
 
  註冊時間: 2003-03-28 文章: 97 來自: 台北
  第 10 樓
  | 
		
			
				 發表於: 星期二 二月 05, 2008 3:09 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				我方向是對但也是故意沒寫出正確答案^_^|||
 
還好樓主有想到答案, 不過照
 
select iif(isnull(字串資料欄位), 000000000.00, val(字串資料欄位)) as 數值 from 資料表 into cursor temp
 
如果第一筆不是null的話, 應該也是會有出現***的可能 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |