簡體   English   中英

如何在 SQL [BQ] 中的語句中應用 ifnull 內部 case?

[英]How to apply ifnull inside case when statement in SQL [BQ]?

如何在 case 中應用 ifnull 語句以避免在表中創建單獨的“field_1”列? 輸入:

在此處輸入圖像描述

output:

在此處輸入圖像描述

SELECT ifnull(field_1, 'other'), count(*),
        case when field_1 = 'done'
        and market in ('usa', 'ca')
        and date < TIMESTAMP('2015-01-01')
        then
        'historical'
        else field_1 end as field_1
     FROM `tablename` 
     group by 1,3

您可以在條件語句中使用IS NULL ,如下所示:

SELECT 
  CASE  
    WHEN field_1 = 'done' AND market IN ('usa', 'ca') AND date < TIMESTAMP('2015-01-01') THEN 'historical'
    WHEN field_1 IS NULL THEN 'other'
    ELSE field_1
  END AS field_1
FROM your_table

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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