[英]Checking null values in database
我有一個數據庫,其中存儲了大量的二進制數據。 一個遠程應用程序,用於檢查辦公室中的數據庫。
我基本上希望遠程應用程序檢查數據是否存在,而不必從遠程數據庫“下載”數據。
SELECT BinaryData FROM DB WHERE BinaryData IS NOT NULL
可以,但是也可以下載數據,我只想簡單檢查一下即可。
有任何想法嗎
您可以選擇“非空”行的計數。 這樣,您將不必將二進制數據下載到遠程應用程序。
SELECT COUNT(*) FROM DB WHERE BinaryData IS NOT NULL
只是不要選擇要下載的任何數據。
SELECT NULL FROM DB WHERE BinaryData IS NOT NULL
另一種檢查非空值的方法
SELECT COUNT(*) as Count_BinaryData FROM DB WHERE DATALENGTH(BinaryData) > 0
如果您使用的是SQL Server(2008+),則可以使用EXISTS
,它比簡單的COUNT(*)
更快,因為它會在第一次匹配時停止選擇行。
IF EXISTS (SELECT 1 FROM DB WHERE BinaryData IS NOT NULL)
SELECT 1
ELSE SELECT 0
或者,您可以編寫類似這樣的內容(在這種情況下,如果有匹配項,您將得到1,如果沒有匹配項,則沒有選擇的行)
SELECT 1 WHERE EXISTS (SELECT 1 FROM DB WHERE BinaryData IS NOT NULL)
可以在docs中找到更多示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.