行,所以我有2列:買方 - 訂單如何處理字符串不屬於一個組,然後使另一個列空白?
我怎樣寫一個case語句顯示:
case when purchaser is blank, then orders is blank
我試圖
case when purchaser = ' ' then orders = ' ' else orders end as OrdersEnd
行,所以我有2列:買方 - 訂單如何處理字符串不屬於一個組,然後使另一個列空白?
我怎樣寫一個case語句顯示:
case when purchaser is blank, then orders is blank
我試圖
case when purchaser = ' ' then orders = ' ' else orders end as OrdersEnd
正確的語法如下:
SELECT
...
, CASE WHEN purchaser = '' THEN '' ELSE orders END AS OrdersEnd
FROM ...
請注意,「購買者爲空」可能意味着「爲空或空」。在這種情況下,語法應爲
CASE WHEN purchaser is NULL OR purchaser = '' THEN '' ELSE orders END AS OrdersEnd
試試這個:
case when purchaser = '' then '' else orders end as OrdersEnd
「空白」 可能意味着NULL
或空格。您沒有提及數據庫,但以下幾項最適用:
(case when purchase is null or replace(purchaser, ' ', '') = '' then ' '
else orders
end) as OrdersEnd
非常棒!謝謝大家! – Pine 2014-09-02 16:04:52
您需要檢查空值和只有空格的購買者。
可能還有其他的情況下,當購買者無效......你可以添加爲更多的WHEN部分:
SELECT
CASE WHEN purchaser is null THEN ''
WHEN TRIM(purchaser) = '' THEN ''
ELSE orders END as Orders
FROM table
現在,我知道這是MS SQL,這是短
SELECT CASE WHEN TRIM(ISNULL(purchaser,'')) = '' THEN '' ELSE orders END AS Orders
FROM table
如果'空白'表示NULL,則可以使用特定於DB的功能。
甲骨文:
SELECT NVL2(purchaser, orders, '') FROM MyTable;
的MySQL:
SELECT IF(purchaser, orders, '') FROM MyTable;
所以我有一堆無效的訂單,如果他們不屬於某個買家。我想保留表格中無效的訂單。我目前的表格現在有很多訂單,只有一些附有購買者,有些沒有購買者。 – Pine 2014-09-02 15:25:29
哪個平臺? – Hogan 2014-09-02 15:25:52
SQL Mgnt Studio – Pine 2014-09-02 15:27:33