CONCAT返回错误的数据

时间:2017-06-28 16:15:51

标签: mysql

我使用CONCAT('€ ', FORMAT(t_plus, 2))语句从我的数据库中获取数据。但是这个语句总是返回一个值。即使该行为空,SQL也会返回€ 0.00

我不想将空行显示为€ 0.00

有人知道如何解决这个问题吗?

这是完整的sql语句:

SELECT date_format(date, '%e %M %Y') AS date, 
       CONCAT('€ ', FORMAT(t_plus, 2)) as t_plus, 
       CONCAT('€ ', FORMAT(t_min, 2)) as t_min
FROM trans

2 个答案:

答案 0 :(得分:1)

您可以添加IF来处理空值,例如:

SELECT date_format(date, '%e %M %Y') AS date, 
   IF(t_plus != '', CONCAT('€ ', FORMAT(t_plus, 2)), '') as t_plus, 
   IF(t_min != '', CONCAT('€ ', FORMAT(t_min, 2)), '') as t_min
FROM trans

答案 1 :(得分:0)

您可以使用CASE表达式,例如

case when t_plus is not null then CONCAT('€ ', FORMAT(t_plus, 2)) 
else null end as t_plus