2016-11-24 5 views

Antwort

1

Sie haben DAYOFWEEK() zu verwenden und dann eine CASE-Anweisung Tag der Woche zurück . DAYOFWEEK() gibt den Wochentag als Ganzzahl zwischen 1 (Sonntag) und 7 (Samstag) zurück. Date and time functions

z.B.

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

Yep ich bereits diesen Weg gefunden. Es funktioniert, sieht aber ziemlich hässlich aus: P Danke trotzdem! – shayms8

+0

Dies funktioniert für Legacy-SQL in großen Abfrage. –

+0

@ mav3n - das ** funktioniert NICHT für BigQuery Standard SQL. Sie sollten Ihre Bearbeitung zu dieser Antwort korrigieren –

1

Unten ist für BigQuery Standard-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 

oder

#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 

Ergebnis ist

day   weekday_name_abbreviated weekday_name_full  
2016-11-24 Thu       Thursday  
Verwandte Themen