mysql查询为null或者空字符串

/**
  用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 ;
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL中,字符串可以被存储为一个值,也可以是一个缺少值。当我们查询包含字符串的列时,需要将它们转换为 NULL 值以进行比较或处理。以下是在 MySQL 查询中将字符串转换为 NULL 值的方法: 在 SELECT 语句中使用 IF 函数 可以使用 MySQL 的 IF 函数来将字符串转换为 NULL 值。如下所示,将使用 IF 函数在 SELECT 语句中将字符串转换为 NULL: SELECT IF(col_name = '', NULL, col_name) FROM table_name; 上面的查询将会在 col_name 列包含字符串时返回 NULL,而在 col_name 列包含非字符时返回 col_name 字符串的值。 在 UPDATE 语句中使用 NULLIF 函数 可以使用 MySQLNULLIF 函数将字符串转换为 NULL 值。如下所示,将使用 NULLIF 函数在 UPDATE 语句中将字符串转换为 NULL: UPDATE table_name SET col_name = NULLIF(col_name, ''); 上述 UPDATE 语句将在 col_name 列包含字符串时将其替换为 NULL 值。 使用 TRIM 函数将字符串替换为 NULL 还可以使用 MySQL 的 TRIM 函数来将字符串替换为 NULL 值。如下所示,将使用 TRIM 函数在 UPDATE 语句中将字符串转换为 NULL: UPDATE table_name SET col_name = NULL WHERE TRIM(col_name) = ''; 上述 UPDATE 语句将在 col_name 列包含字符串时将其替换为 NULL 值。 总之,在 MySQL 中,将字符串转换为 NULL 可以使用 IF 函数、NULLIF 函数或 TRIM 函数。这些函数可以用于 SELECT 或 UPDATE 语句中。如果您需要在查询中使用 NULL 值而不是字符串,则可以使用这些函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值