CASE-Mysql上的Null检查
我试图检查这个值,若它为null(并没有显示),我推断出空字符串。我试着:CASE-Mysql上的Null检查,mysql,Mysql,我试图检查这个值,若它为null(并没有显示),我推断出空字符串。我试着: 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 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;
它不能推断出什么。我的错在哪里?提前感谢使用
这个语法相当于
exp1==null?exp2:exp1
我假设您要查找的查询是:
SELECT IFNULL(order_id, '') AS order_id
FROM label_pass_voucher
WHERE order_id = 3447;
MySQL官方文档:
如果expr1不为NULL,则IFNULL()返回expr1;否则它将返回
expr2
NULLIF()
做了一件稍微不同的事情:
如果expr1=expr2为真,则返回NULL,否则返回expr1。这
与expr1=expr2然后NULL ELSE expr1 END的情况相同
SELECT IFNULL(order_id, '') AS order_id
FROM label_pass_voucher
WHERE order_id = 3447;