BigQuery 入門
Matt Forrest
Field CTO
DATE 型別範例
SELECT DATE(2010, 05, 19) as launch/*------------* | launch | +------------+ | 2010-05-19 | *------------*/
Timestamp 範例:
SELECT TIMESTAMP("2010-05-19 00:00:00+00") as launch/*-------------------------* | launch | +-------------------------+ | 2010-05-19 00:00:00 UTC | *-------------------------*/
Time 與 Datetime 範例:
SELECT TIME(12, 00, 00) as noon,DATETIME(2019, 05, 19, 00, 00, 00) as launch/*----------+----------------------* | noon | launch | +----------+----------------------+ | 12:00:00 | 2019-05-19T00:00:00 | *----------+----------------------*/
日
DAY、DAYOFWEEK、DAYOFYEAR。週
WEEK、WEEKDAY、ISOWEEK。月/年
MONTH、QUARTER、YEAR、ISOYEAR。時間
HOUR、MINUTE、SECOND、MILLISECOND、MICROSECOND。加上 5 天
SELECT DATE_ADD(DATE '2010-05-19', INTERVAL 5 DAY) AS five_days_later;/*--------------------* | five_days_later | +--------------------+ | 2010-05-24 | *--------------------*/
計算差異
SELECT DATE_DIFF(DATE '2010-05-24', DATE '2010-05-19', DAY) AS difference;/*-------------* | difference | +-------------+ | 5 | *-------------*/
找出星期幾
SELECT EXTRACT(DAYOFWEEK FROM DATE '2010-05-19') AS day_of_week;/*--------------* | day_of_week | +--------------+ | 4 | *--------------*/
SELECT FORMAT_DATE( '%x', DATE '2010-05-19') AS with_slashes;/*--------------* | with_slashes | +--------------+ | 05/19/10 | *--------------*/
SELECT FORMAT_DATE( '%A', DATE '2010-05-19') AS dow;/*--------------* | dow | +--------------+ | Wednesday | *--------------*/
取得目前的 timestamp:
SELECT
CURRENT_TIMESTAMP();
/*---------------------------------*
| current_timestamp |
+---------------------------------+
| 2023-11-13 17:35:25.951432 UTC |
*---------------------------------*/
取得目前的日期:
SELECT
CURRENT_DATE();
/*---------------*
| current_date |
+---------------+
| 2023-11-13 |
*---------------*/
資料型別
日期/時間戳片段
MONTH 或 HOUR)加與減
DATE_ADD)差異
TIMESTAMP_SUB)擷取與格式化
EXTRACT、FORMAT)目前日期/時間戳
CURRENT_TIMESTAMP)BigQuery 入門