BigQuery 入门
Matt Forrest
Field CTO
DATE 数据类型示例
SELECT DATE(2010, 05, 19) as launch/*------------* | launch | +------------+ | 2010-05-19 | *------------*/
时间戳示例:
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。加五天
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 | *--------------*/
获取当前时间戳:
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 入门