|
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 文章: 2157
第 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 文章: 389
第 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 文章: 4212 來自: 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 文章: 4212 來自: 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的話, 應該也是會有出現***的可能 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|