Bigquery: Dateadd и Datediff - PullRequest
       25

Bigquery: Dateadd и Datediff

0 голосов
/ 19 марта 2019

Я немного застрял на следующем: Я могу получить часть date_diff, но не вместе. любая помощь приветствуется.

SQL Server :
SELECT (DATEADD(DD, DATEDIFF(dd, 0, GETDATE()), 0)) 

Big Query : 
SELECT DATETIME_ADD(CURRENT_DATETIME(), INTERVAL DATE_DIFF(CURRENT_DATE, DATE '1900-01-01', DAY))

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Вы можете использовать этот SQL в качестве примера

#standardSQL
        SELECT DATE_DIFF(DATE(CURRENT_DATETIME()), DATE_ADD(DATE(CURRENT_DATETIME()) ,INTERVAL 3 DAY), DAY),INTERVAL 3 DAY), DAY)
    FROM `project.dataset.table`
0 голосов
/ 19 марта 2019

Без четкого понимания варианта использования я просто исправлю запрос:

  1. Вы должны указать часть времени при использовании некоторых функций DATE или DATETIME . В этом случае вам нужно указать DAY для функции DATETIME_ADD.
  2. Вы можете использовать функцию DATE_ADD, если вам не нужно время.

Итак, этот запрос работает как положено:

#standardSQL   
SELECT DATETIME_ADD(CURRENT_DATETIME(), INTERVAL DATE_DIFF(CURRENT_DATE, DATE '1900-01-01', DAY) DAY) as result_datetime,
       DATE_ADD(CURRENT_DATE, INTERVAL DATE_DIFF(CURRENT_DATE, DATE '1900-01-01', DAY) DAY) as result_date
...