我正在尝试显示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
答案 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
。