mysql - CASE Mysql 的 Null 检查

标签 mysql

我尝试检查值,如果它为空(没有任何内容可显示),我会推断出空字符串。我正在尝试:

SELECT nullif(order_id, ' ') as order_id FROM label_pass_voucher WHERE order_id = 3447;
select CASE WHEN order_id then order_id else ' ' end as order_id FROM label_pass_voucher WHERE order_id = 3447;

它不会推断出任何结果。我的错在哪里?提前致谢

最佳答案

我假设您要查找的查询是:

SELECT IFNULL(order_id, '') AS order_id
FROM label_pass_voucher
WHERE order_id = 3447;

MySQL官方文档:

If expr1 is not NULL, IFNULL() returns expr1; otherwise it returns expr2.

NULLIF() 做的事情略有不同:

Returns NULL if expr1 = expr2 is true, otherwise returns expr1. This is the same as CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END.

关于mysql - CASE Mysql 的 Null 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875194/

相关文章:

mysql - SQL 中的多个结果处理

c# - 将纯文本从文本框转换为 SHA1,然后将 Sha1 转换为基数 64 C#

mysql - 将 Rails 3 mySQL 查询转换为与 PostgreSQL 一起使用

MySQL AES_DECRYPT 返回 NULL

mysql - 如何从一对多到多列的连接中连接三行结果

MySQL ERROR 1064(42000) 当使用 , 而不是 ,

mysql - 尝试编写一个查询来获取最高和最低收入并打印帐户健康状况?

mysql - SQL 查询似乎返回不完整的结果集

android - 如何在没有php的情况下在android中使用java使用volley检索mysql数据?

mysql - 从具有乘法值的列中选择