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