检查数据库中的空值

时间:2018-09-27 08:02:18

标签: c# sql

我有一个数据库,用于存储相当大的二进制数据块。远程应用程序,用于检查办公室中的数据库。

我基本上希望远程应用程序检查数据是否存在,而不必从远程数据库中“下载”数据。

SELECT BinaryData FROM DB WHERE BinaryData IS NOT NULL

可以,但是它也可以下载数据,我只想简单检查一下即可。

任何想法

4 个答案:

答案 0 :(得分:1)

您可以选择“非空”行的计数。这样,您就不必将二进制数据下载到远程应用程序。

SELECT COUNT(*) FROM DB WHERE BinaryData IS NOT NULL

答案 1 :(得分:0)

请不要选择要下载的任何数据。

SELECT NULL FROM DB WHERE BinaryData IS NOT NULL

答案 2 :(得分:0)

检查非空值的另一种方法

SELECT COUNT(*) as Count_BinaryData FROM DB WHERE DATALENGTH(BinaryData) > 0 

答案 3 :(得分: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中找到更多示例。