mysql 统计每一列非空字符串个数

字符串可能是"",不应该计数。默认的count函数会统计""。所以先要把“”替换为NULL

select count(if(col0='', null, col0)), count(if(col1='', null, col1)) from table

或者

select count(nullif(col0, '')), count(nullif(col1, '')) from table

或者

select count(col0 != '' or null), count(col1 != '' or null) from table 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 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 函数 可以使用 MySQL 的 NULLIF 函数将空字符串转换为 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、付费专栏及课程。

余额充值