簡體   English   中英

檢查數據庫中的空值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM