我有一张这样的table
Table : test
column1 | column2
aaaaaa | 113323
(NULL) | 2331233
2 | 899999
99999 | 222222
abc | 13123
jul | 98282
我试图找出第1列中单词长度小于4的地方,所以我使用了这个查询。
select * from test where length(column1) < '4'
我只知道:
column1 | column2
abc | 13123
jul | 98282
2 | 899999
为什么我的查询没有捕获空值?我的问题有问题吗?我所期望的是这样
column1 | column2
(NULL) | 2331233
abc | 13123
jul | 98282
2 | 899999
我有另一种解决方法,比如 where column1 is null
但这对我没用
2条答案
按热度按时间fcwjkofz1#
你也可以用
COALESCE
此处替换NULL
使用空字符串,然后进行长度比较:ngynwnxp2#
NULL
不是字符串,因此无法比较length
去吧。尝试:
所以如果这个值
(NULL)
确实是空的,它将得到匹配,但如果它是一些奇怪的/修改过的版本,而不是一个真正的mysqlNULL
,它将不匹配