我尝试检查值,如果它为空(没有任何内容可显示),我会推断出空字符串。我正在尝试:
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/