| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		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) | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |