Получите ИМЯ МЕСЯЦА от даты в BigQuery SQL - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь извлечь имя месяца из даты в BigQuery, тип DATE (например, 2019-09-19).Я пытался что-то вроде:

SELECT PARSE_DATE ('% B', CAST (строка AS date_start)) FROM таблицы

, но это не работает.Я также попробовал некоторые другие вещи из DATE , такие как EXTRACT и DATETIME , но не повезло.

Я знаю, что есть некоторые функции, такие как MONTHNAME() в других языках SQL, но они не работают в BQ.

Есть способ сделать это, который не зависит от CASEфункция?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 23 сентября 2019

Как указано в документации, вам необходимо использовать функцию FORMAT_DATETIME .Запрос будет выглядеть следующим образом:

SELECT FORMAT_DATETIME("%B", DATETIME(<your_date_column_name>)) as month_name
FROM <your_table>

Здесь вы найдете все параметры, которые вы можете использовать для отображения определенной информации о дате.

1 голос
/ 23 сентября 2019

Я пытаюсь извлечь ИМЯ МЕСЯЦА из даты в BigQuery, тип DATE (например, 2019-09-19)

Поскольку ваше поле уже имеет DATEtype - вам не нужно делать никаких дополнительных приведений - просто:

FORMAT_DATE('%B', date_start)    

будет работать - как в примере ниже

#standardSQL
WITH `project.dataset.table` AS (
  SELECT DATE '2019-09-19' date_start
)
SELECT date_start, FORMAT_DATE('%B', date_start) AS month
FROM `project.dataset.table`   

с результатом

Row date_start  month    
1   2019-09-19  September    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...