MSSQL-在varbinary列上选择NULL值

时间:2019-02-26 12:37:13

标签: sql-server null varbinary

我正在尝试对大约35.000行的表进行选择,其中一列是varbinary,可能具有一些NULL值,我需要从结果中排除这些NULL值。

问题是:当您在varbinary列上执行选择时,需要花费大量时间才能完成,我发现我不确定自己可以使用的方法,或者是执行类似操作的最佳方法那,我想要一些意见。

在这里:

SELECT REQUEST,REQLOCATION,DESCRIPT,BLOBNAME,BLOBSIZE,substring(BLOBVALUE,0,1) AS BLOBVALUE,BLOBMODE,BLOBPATH,BLOBID,
REDIRID,ANALYST,CLIENT,SEVENT,PACKAGE,INSERTDATE
FROM REQBLOB WHERE substring(BLOBVALUE,0,1) IS NOT NULL

varbinary列是“ BLOBVALUE”列,我在其中进行了“ substring”选择,该查询立即给我20.000行的结果,我认为它仅返回有效数据,而不返回NULL ,您对此有何看法?

1 个答案:

答案 0 :(得分:2)

摆脱SUBSTRING中的WHERE,这使您的查询不可显示;这就是为什么它很慢。

SELECT REQUEST,
       REQLOCATION,
       DESCRIPT,
       BLOBNAME,
       BLOBSIZE,
       SUBSTRING(BLOBVALUE, 0, 1) AS BLOBVALUE,
       BLOBMODE,
       BLOBPATH,
       BLOBID,
       REDIRID,
       ANALYST,
       CLIENT,
       SEVENT,
       PACKAGE,
       INSERTDATE
FROM REQBLOB
WHERE BLOBVALUE IS NOT NULL;

您为什么仍要在varbinary上使用子字符串呢??