Создайте функцию месяца

# #sql #google-bigquery

Вопрос:

Я хотел бы выполнить запрос, который выполняется ежемесячно, но он будет ежедневно проверять, соответствует ли отметка времени в записях предыдущему месяцу. Если да, то он выполнит запрос и добавит его к предыдущим ежемесячным данным.

Итак, я хочу создать простую функцию, возвращающую значение TRUE, если метка времени записи относится к предыдущему месяцу. Что-то вроде этого:

 CREATE TEMP FUNCTION isMonth(recordTimestamp TIMESTAMP) AS (  xxxxxxx ); 

Каков был бы правильный синтаксис для этого?

Ответ №1:

возвращает значение TRUE, если метка времени записи относится к предыдущему месяцу

Используйте ниже

 create temp function isPrevMonth(ts timestamp) as (
  date_trunc(date(ts), month) = date_trunc(current_date() - interval 1 month, month)
);
 

Комментарии:

1. Отлично! Рад, что это работает для вас! Пожалуйста, также подумайте о том, чтобы проголосовать за ответ :o)