为什么在使用IS NOT NULL时会显示空结果?

时间:2014-04-09 19:11:14

标签: sql vbscript

我使用以下代码,但即使使用IS NOT NULL,也会显示空结果。

SELECT COLUMN1
       ,COLUMN2
       ,COLUMN3
    FROM TABLE.DBF
    WHERE COLUMN1 IS NOT NULL
    ORDER BY COLUMN1 ASC

示例结果:

     50 0
     51 0
     50 0
     51 0
     50 0
     51 0
1    50 35000
1    51 29334.71
10   50 10000
10   51 1568.14
100  50 25000
100  51 -2731.98

如果我将其切换为> 0,则不会显示空结果。理想情况下IS NOT NULL会更好用,因为它更有意义。我怎样才能使它工作?该行的该列中有

使用> 0代替IS NOT NULL的结果示例:

1    50 35000
1    51 29334.71
10   50 10000
10   51 1568.14
100  50 25000
100  51 -2731.98

2 个答案:

答案 0 :(得分:2)

如果这是T-SQL(MS SQL服务器),您可以使用nullif(),如下例所示。如果值为空字符串,则此示例中的nullif()将返回NULL

SELECT COLUMN1, COLUMN2, COLUMN3 
FROM TABLE.DBF 
WHERE NULLIF(COLUMN1,'') IS NOT NULL 
ORDER BY COLUMN1 ASC

答案 1 :(得分:0)

您可以使用

WHERE COLUMN1 IS NOT NULL and COLUMN1 <>'' 

并查看是否会改变您的结果。