我正在尝试从MySQL数据库中选择数据。如果数据可用,我的数据库需要用符号响应。如果记录中没有数据,我的数据库应该响应一个空记录(没有符号)。
我正在使用以下SQL语句:
SELECT price1
CASE
WHEN price1 IS NOT NULL THEN CONCAT('€ ', price1)
END as price1
FROM pricelist
WHERE id=1
当我运行此SQL语句时,出现错误。
有人知道我的代码有什么问题吗?
答案 0 :(得分:3)
这是一个错字,您在,
之后缺少逗号 - price1
。
除此之外,我将您的新列名从price1
更改为new_price1
,因为选择两个具有相同名称的列没有多大意义(可能会造成一些麻烦,尤其是如果您想要通过其中一个进行过滤)
SELECT price1,
CASE
WHEN price1 IS NOT NULL THEN CONCAT('€ ', price1)
END as new_price1
FROM pricelist
WHERE id=1
其他选项是您不打算选择price1
,所以:
SELECT CASE WHEN price1 IS NOT NULL
THEN CONCAT('€ ', price1)
END as new_price1
FROM pricelist
WHERE id=1
答案 1 :(得分:0)
正如已经回答的那样,如果你保留两列,你需要一个逗号(,
),但我想你想改变price1
的值。
SELECT
CASE
WHEN price1 IS NOT NULL THEN CONCAT('€ ', price1)
ELSE '' --or null or....
END as price1
FROM pricelist
WHERE id=1