上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
yao-yi
註冊時間: 2004-06-26 文章: 15
第 1 樓
|
發表於: 星期六 四月 16, 2005 9:25 pm 文章主題: 請問如何才能快速的把表中的Null值替換為零,詳見內∼ |
|
|
小弟把兩張表關聯(Left Join)了一下,結果導致生成的表有很多的Null值,非常影響計算,小弟愚笨,實在想不出什麼高明的辦法在不改變別的數據的情況下把這些Null值替換為零!十分苦惱,還請各位大大幫忙! |
|
回頂端 |
|
 |
Erwin
註冊時間: 2003-03-28 文章: 97 來自: 台北
第 2 樓
|
發表於: 星期六 四月 16, 2005 11:41 pm 文章主題: |
|
|
用 Set NullDisplay to 0 試看看能不能得到你要的 |
|
回頂端 |
|
 |
yctsai
註冊時間: 2003-04-11 文章: 180
第 3 樓
|
發表於: 星期日 四月 17, 2005 12:00 am 文章主題: |
|
|
select a.*,iif(isnull(b.field),' ',b.field) as field from table1 a left join table2 on a.xx=b.xx into cursor tmp |
|
回頂端 |
|
 |
marvin
註冊時間: 2004-06-01 文章: 321
第 4 樓
|
發表於: 星期日 四月 17, 2005 10:57 am 文章主題: |
|
|
SET NULL OFF |
|
回頂端 |
|
 |
yao-yi
註冊時間: 2004-06-26 文章: 15
第 5 樓
|
發表於: 星期日 四月 17, 2005 5:03 pm 文章主題: |
|
|
首先謝謝各位大大的幫忙,Erwin 大大提出的衹不過改變了表的顯示,使Null顯示為0(這個0是字符),還是不能真正的運算的,因為小弟要拿這張表來計算的,marvin 大大提的SET NULL OFF對select不起作用,yctsai 大大的方法不錯,在連接表時就把Null值去除,小弟也一直希望這樣,不過在實踐時遇到了問題:
小弟用的命令大概是這樣的select a.*,iif(isnull(b.field),0,b.field) as field from table1 a left join table2 on a.xx=b.xx into table tmp ,結果有數據的顯示成*了,經過一番試驗發現衹要把命令改成select a.*,iif(isnull(b.field),0000000.00,b.field) as field from table1 a left join table2 on a.xx=b.xx into table tmp 就可以完全顯示了,呵呵,雖然感覺不太好,但總算可以解決計算問題了!
不知各位大大還有沒有別的辦法,呵呵,偶有點貪心吧∼∼:-) |
|
回頂端 |
|
 |
pnyjq
註冊時間: 2005-04-19 文章: 7 來自: 中国广东省
第 6 樓
|
發表於: 星期三 四月 20, 2005 12:23 pm 文章主題: |
|
|
试一下以下代码:
for i=1 to FCOUNT()
lcFielname=fiel(i)
blank FIELDS &lcFielname for isnull(&lcFielname)
endfor |
|
回頂端 |
|
 |
BIN

註冊時間: 2004-07-22 文章: 94 來自: Tainan, Taiwan
第 7 樓
|
發表於: 星期三 四月 20, 2005 1:14 pm 文章主題: |
|
|
可以把iif(isnull(b.field),0000000.00,b.field)這句改成NVL(b.field,0000000.00) |
|
回頂端 |
|
 |
|