在SQL Server中,我們可以使用IsNull()函數來檢查表達式值是否爲null。例如。檢查MS Access查詢中的空值
Select IsNull(sum(amount),0) as TotalAmount
From Payments
同樣,MS Access查詢中有任何函數檢查null。我需要在MS Access查詢中執行相同的語句。
可以告訴我在MS Access中替換IsNull()
。
感謝分享你的時間。
在SQL Server中,我們可以使用IsNull()函數來檢查表達式值是否爲null。例如。檢查MS Access查詢中的空值
Select IsNull(sum(amount),0) as TotalAmount
From Payments
同樣,MS Access查詢中有任何函數檢查null。我需要在MS Access查詢中執行相同的語句。
可以告訴我在MS Access中替換IsNull()
。
感謝分享你的時間。
在Access中的等價物很多,是nz函數。如何使用它here。
但是,如果您使用Access作爲數據庫後端並在您的連接字符串中使用Jet,那麼nz將無法提供給您。
使用Jet/ACE查詢可以重新寫爲:
SELECT IIf(Sum(amount) Is Null, 0, Sum(amount)) AS TotalAmount
FROM Payments
這應該從C#甚至工作,因爲Is Null
和IIf
都內置到Jet/ACE。請注意0中的空格和缺少括號(它是陳述,而不是函數)。
有兩個加獎金使用IIf
和Is Null
相對於即使Nz
Nz
是提供給您:
Nz
返回一個Variant,捷達/ ACE被迫結果顯示爲一個字符串(通常是不是你想要的使用日期,數字,等等打交道時)UPDATE:艾倫·布朗有excellent primer關於使用IIf
,Nz
,IsNull()
和Is Null
。我打算將該鏈接發佈爲我的原始答案,但我當時找不到該頁面。我盡我所能從記憶中獲得了最好的回報,但真正的功勞歸功於布朗先生。
同樣, 也可以在日期和時間排序
.....ORDER BY TRANSDATE ASC,(IIf([PaymentTime] Is Null, '23:59:59', [PaymentTime])) DESC
感謝hawbsl時使用!但是當我嘗試從C#代碼使用Nz執行查詢時,我得到Nz未定義的異常。 – IrfanRaza 2011-01-28 12:13:13
我發現IsNull()存在於MS Access中。但是當使用來自C#的查詢時,我得到這個錯誤信息 - 「在查詢表達式中與函數一起使用的錯誤數量的參數IsNull(sum(amount),0)'」 – IrfanRaza 2011-01-28 12:17:19