Введение в 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