簡體   English   中英

CASE語句不起作用

[英]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

其他然后,我從改變你的新列名price1new_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM