sql - 空字符串与NULL

标签 sql sql-server null cells

我有一个表格,其中某些行有一些空白单元格。我尝试使用 IS NULL 函数选择此类行。但查询选择了 0 行。

select * from zzz_fkp_registration_female where fname is null;
(0 row(s) affected)

现在我将查询更改为:

select * from zzz_fkp_registration_female where fname is null or fname ='';

我得到了想要的结果。

为什么 IS NULL 没有给出结果?由于单元格为空,IS NULL'' 之间有什么区别。请解释一下。

最佳答案

它们之间的一些区别:

  • NULL 可以分配给任何类型,而不是与日期/数字字段不兼容的空字符串。
  • NULL 是一个未知值,它没有值,而不是空字符串,空字符串是一个值,但是是空的。
  • 据我所知,NULL 不应该捕获内存,而空字符串则可以捕获内存。
  • null = null 将导致 null,而 ''='' 将导致 TRUE >.

关于sql - 空字符串与NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40651685/

相关文章:

php - Eloquent/SQL - 获取查询的行号(排名)

asp.net - 英镑符号 (£) 从 ASP.NET 字符串中消失

sql-server - SQL : Maximum (n)varchar size can be stored in sql_variant

SQL Server : calculating date ranges

sql - 如何在 SQL 中使用 NULL 或空字符串

python - 如何使用python在sql中选择一长串id

sql - 动态枢轴不显示正确的输出

c# - 使用带空值的 double.Parse

将对象设置为 null 时的 JavaScript(ES6) WeakMap 垃圾回收

sql - Informix 窗口函数范围子句的行为类似于行子句