0
点赞
收藏
分享

微信扫一扫

SQL Server 中,空值和空字符串('')

心存浪漫 2023-11-21 阅读 21

在 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.

举报

相关推荐

0 条评论