返回所有A不为空的记录: select A from A_Table where A IS NOT NULL
declare @d int select @d=3 select isnull(@d,0) 我运行了1000次还是3不是0
这样试试 如果确保数据库中A有值为3.00 那么 select a from a_table 看看还为0不?
首先你确认a=3这行记录在a_table中? select * from a_table返回什么?
天哪!!!!你看一下你的SQL 它的返回的記錄數是不是一條呀????一定是多條記錄才會導至如此的。
其实我只是在纳闷一个问题,我一开始不知道A是NOT NULL,在统计时用了,ISNULL,结果总是不对,我检查了好久才找到问题所在,就是我说的了,用SELECT * FROM A_TABLE得到的结果是正确的3。00,我做数据库已有近3年的时间了,不要把我当新手,我只是想问问大家有没有遇到这么奇怪的问题
如果语句SELECT A FROM A_TABLE 的返回结果为Null 则语句SELECT ISNULL(A,0) FROM A_TABLE 的返回结果为0 绝对没错!!!!!!!!!!!!!
可能與你的机器設置會有關系(猜的),不知道你是否注意到SQL Server中其它的函數會有類似的問題,你比如說 Ceiling函數,Select Ceiling(500/3), 結果會等於166, 可是如果這些數據放在 table里的話,結果會等於167: select ceiling(FldName/3) From tblTest WHERE ID=1 AND FldName=500所以有些現在真的是很奇怪,我上微軟的TechNet查了很久都沒有結果,還請高人指點。
select A from A_Table where A IS NOT NULL
select @d=3
select isnull(@d,0)
我运行了1000次还是3不是0
如果确保数据库中A有值为3.00
那么
select a from a_table
看看还为0不?
select * from a_table返回什么?
的返回结果为Null
则语句SELECT ISNULL(A,0) FROM A_TABLE
的返回结果为0
绝对没错!!!!!!!!!!!!!