[英]CASE statement is not working
我正在嘗試從MySQL數據庫中選擇數據。 如果數據可用,我的數據庫需要使用符號進行響應。 如果記錄中沒有數據,則我的數據庫應響應一個空記錄(無符號)。
我正在使用以下SQL語句:
SELECT price1
CASE
WHEN price1 IS NOT NULL THEN CONCAT('€ ', price1)
END as price1
FROM pricelist
WHERE id=1
當我運行此SQL語句時,出現錯誤。
有人知道我的代碼有什么問題嗎?
這是一個錯字,你缺少一個逗號- ,
之后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
正如已經回答的那樣,如果同時保留這兩列,則它們之間需要用逗號( ,
),但我認為您想更改price1
的值。
SELECT
CASE
WHEN price1 IS NOT NULL THEN CONCAT('€ ', price1)
ELSE '' --or null or....
END as price1
FROM pricelist
WHERE id=1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.