【问题标题】:Why can't SQL Server return null values?为什么 SQL Server 不能返回空值?
【发布时间】:2017-03-22 02:57:48
【问题描述】:
SELECT * 
FROM [dbo].[drugTP] 
WHERE [DrugRate] IS NULL 

当我运行这个查询时,SQL Server 返回一个空网格,为什么?

【问题讨论】:

  • 您的值是空字符串还是空字符串?
  • NULL 值表示该值未知。 NULL 值不同于空值或零值。没有两个空值是相等的。两个空值之间的比较,或者一个 NULL 和任何其他值之间的比较,返回未知,因为每个 NULL 的值是未知的
  • 我认为值是空的。那我该如何处理呢

标签: sql-server-2016


【解决方案1】:

可能列中的值不是“NULL”值而是空字符串。

你可以尝试匹配空字符串

SELECT * 
FROM [dbo].[drugTP] 
WHERE [DrugRate] IS NULL or [DrugRate] = ''

或者使用函数NULLIF,如果两个参数相等则返回NULL

SELECT * 
FROM [dbo].[drugTP] 
WHERE NULLIF([DrugRate],'') IS NULL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多