2017-08-29 38 views

回答

1

這真的歸結爲個人喜好;由於它們具有相同的語義和性能,因此一個並不優於另一個。支持使用EXTRACT的觀點是,如果您在選擇列表中提取其他日期/時間部分,則會反映它們。例如:

SELECT 
    EXTRACT(DATE FROM TIMESTAMP_MILLIS(timestamp)) AS date, 
    EXTRACT(ISOYEAR FROM TIMESTAMP_MILLIS(timestamp)) AS iso_year, 
    EXTRACT(ISOWEEK FROM TIMESTAMP_MILLIS(timestamp)) AS iso_week 
FROM YourTable; 

相比:

SELECT 
    DATE(TIMESTAMP_MILLIS(timestamp)) AS date, 
    EXTRACT(ISOYEAR FROM TIMESTAMP_MILLIS(timestamp)) AS iso_year, 
    EXTRACT(ISOWEEK FROM TIMESTAMP_MILLIS(timestamp)) AS iso_week 
FROM YourTable; 
+0

謝謝,艾略特! –