2016-11-24 47 views

回答

1

你必須使用DAYOFWEEK(),然後CASE語句返回星期幾。 DAYOFWEEK()將星期幾作爲1(星期日)至7(星期六)之間的整數。 Date and time functions

例如

SELECT 
    CASE 
    WHEN DAYOFWEEK(CURRENT_DATE()) = 1 THEN 'Sunday' 
    WHEN DAYOFWEEK(CURRENT_DATE()) = 2 THEN 'Monday' 
    WHEN DAYOFWEEK(CURRENT_DATE()) = 3 THEN 'Tuesday' 
    WHEN DAYOFWEEK(CURRENT_DATE()) = 4 THEN 'Wednesday' 
    WHEN DAYOFWEEK(CURRENT_DATE()) = 5 THEN 'Thursday' 
    WHEN DAYOFWEEK(CURRENT_DATE()) = 6 THEN 'Friday' 
    WHEN DAYOFWEEK(CURRENT_DATE()) = 7 THEN 'Saturday' 
    END Weekday 
+0

是的,我已經想通了這方法。它的作品,但看起來很醜陋:P 無論如何,謝謝! – shayms8

+0

這適用於大查詢中的傳統sql。 –

+0

@ mav3n - 這**不適用於BigQuery標準SQL。你應該糾正你的編輯到這個答案 –

1

下面是BigQuery的標準SQL

#standardSQL 
SELECT 
    CURRENT_DATE() AS day, 
    FORMAT_DATE('%a', CURRENT_DATE()) AS weekday_name_abbreviated, 
    FORMAT_DATE('%A', CURRENT_DATE()) AS weekday_name_full 

#standardSQL 
SELECT 
    DATE('2016-11-24 00:00:00') AS day, 
    FORMAT_DATE('%a', DATE('2016-11-24 00:00:00')) AS weekday_name_abbreviated, 
    FORMAT_DATE('%A', DATE('2016-11-24 00:00:00')) AS weekday_name_full 

結果是

day   weekday_name_abbreviated weekday_name_full  
2016-11-24 Thu       Thursday  
相關問題