SQL Server 中,空值和空字符串('')
  X5zJxoD00Cah 2023年11月22日 41 0

在 SQL Server 中,空值和空字符串('')是有区别的:

  1. None:在编程语言中,如 Python,None 表示空无一物,啥也没有存储。None 不是整型,不是浮点型,也不是字符串,就是一个 NoneType¹。
  2. Null:在数据库查询中用 Null,表示的含义相同,表示什么也没有,是个空值,不是空字符串¹。Null 在 SQL 是一种不确定的值,可以认为系统也不知道这个值是什么,所以不管用 = 还是 != 都是会把 null 过滤掉的²。
  3. 空字符串(''):有存储个东西,是空字符串,空字符串有哪些特征呢?长度为 0,类型为 string¹。空字符串可以认为是一个确定的值,值就是空²。

在 SQL 中,如果你想要筛选出非空的记录,你可以使用 IS NOT NULL,例如:SELECT * FROM table WHERE column IS NOT NULL;。如果你想要筛选出空字符串的记录,你可以使用 = '',例如:SELECT * FROM table WHERE column = '';。这样,你就可以区分空值和空字符串了。¹²

2023/11/21

(1) None、Null与空字符‘‘什么区别_null和none-CSDN博客. https://blog.csdn.net/fwj_ntu/article/details/106100717.

(2) 为什么SQL中的where条件 !='' (不等于空字符串) 会把NULL值也过滤掉? - 知乎. https://www.zhihu.com/question/472023696.

(3) SQLSERVER NULL和空字符串的区别 使用NULL是否节省空间 - 那个远方 - 博客园. https://www.cnblogs.com/ljs-13/p/12163360.html.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月22日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年11月24日   34   0   0 SQL运算符
  X5zJxoD00Cah   2023年12月11日   27   0   0 表名SQL
  DF5J4hb0hcmT   2023年12月08日   22   0   0 慢查询druidSQL
X5zJxoD00Cah