使用时,mysql中的case不起作用

时间:2016-09-12 15:40:55

标签: mysql

我正在尝试显示xxx,而列在null中为空或为空,我用case来查明列是否为空但列仍然返回空而不是xxx,我试图使用下面的代码,但它不是为我工作。请帮我解决一下。

SELECT
CASE WHEN t.`rate` IS NULL  THEN 'xxx'
WHEN t.`rate`=5 THEN 2
ELSE 3
END rate FROM `kob_tax` t 
WHERE t.`id_country` = 110 AND t.`id_state` IN(0) AND t.`id_tax_rules_group`=5

1 个答案:

答案 0 :(得分:0)

你的个案陈述应该是这样写的。

$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

请参阅此演示示例:http://sqlfiddle.com/#!9/19f500/1/0

注意:您已说过 SELECT CASE WHEN t.`rate` IS NULL THEN 'xxx' WHEN t.`rate`='' THEN 'xxx' WHEN t.`rate`='5' THEN '2' ELSE '3' END as rate FROM `kob_tax` t WHERE t.`id_country` = 110 AND t.`id_state` IN(0) AND t.`id_tax_rules_group`=5 值可能为空。据我所知,具有数字数据类型的列(例如rate或其他)将空值视为无效。因此,我假设费率为INT