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;
1 回答
这真的取决于个人喜好;一个并不优于另一个,因为它们具有相同的语义和性能 . 支持使用
EXTRACT
的论据是,如果要在选择列表中提取其他日期/时间部分,则会反映它们 . 例如:相比: