mysql查询为null或者空字符串

mysql查询为null或者空字符串,第1张

/**
  用isnull判断是否为空:只有过滤条件 为null 的时候 ISNULL(exp) 函数的返回值为1 ,空串和有数据都为0
 */

查询test_id为 null 的所有数据(注意是 null),返回结果中 把 test_id 为空字符串的数据不会显示出来

select * from test_table where isnull(test_id);

判断test_id 为 null 的另一种写法

select * from test_table where test_id is null ;

查询test_id 不为null 的所有数据,结果中会把 test_id 为空字符串的数据,及test_id有数据的所有数据全部查出来

select * from test_table where test_id is not null;

查询test_id 不为null 的所有数据,返回结果中会把 test_id 为空字符串的数据,及test_id有数据的所有数据全部查出来,因为isnull()判断为空时,如果为空,返回1,如果是有值,或者空字符串,返回0

select * from test_table where isnull(test_id) = 0;

注:上面这两条SQL查询出来的结果是一样的



同时过滤掉test_id值为null,及空字符串的数据,返回结果中只显示test_id有数据的结果集

select * from test_table  where ISNULL(test_id)=0 AND LENGTH(TRIM(test_id)) >0 order by update_time desc ;
另一种写法

select test_table ,lesson_id from test_table  where case when (ISNULL(test_id) =1) || (LENGTH(TRIM(test_id)) = 0) then '11' end ;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/991652.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存