Попытка преобразовать поле вывода в Google Big Query в качестве даты - PullRequest
0 голосов
/ 20 сентября 2018

Вот мой стандартный Google Big Query:

SELECT   DISTINCT concat ( safe_cast(fullVisitorID as string), 
safe_cast(visitNumber as string))  as FVID,  /* WORKS */ 



 FORMAT_TIMESTAMP("%Y-%m-%d", 
 TIMESTAMP_ADD(TIMESTAMP_SECONDS(visitStartTime), INTERVAL -8 HOUR)) as 
 visitStartTimePST,   /* WORKS */ 

 (select value from unnest(h.customDimensions) where index = 7)    as 
     CheckIn,  /* WORKS BUT IS IN FORMAT e.g. 1/1/2017 */ 

[... rest of query deleted for readability ] 

Вот моя проблема.Я хочу, чтобы CheckIn был типом даты, поэтому я могу сделать арифметику дат, сравнивая visitStartTimePST с датой CheckIn (количество дней дельта).Мои различные попытки приведения и форматирования пока не увенчались успехом.

1 Ответ

0 голосов
/ 20 сентября 2018

Я хочу, чтобы CheckIn был типом даты

Приведенный ниже пример должен помочь вам

#standardSQL
SELECT PARSE_DATE('%d/%m/%Y', '1/1/2017')

, поэтому вы можете сделать как

...
(select PARSE_DATE('%d/%m/%Y', value) from unnest(h.customDimensions) where index = 7)    as 
 CheckIn, 
...   

примечание: вам может потребоваться переключить '%d/%m/%Y' на '%m/%d/%Y' в зависимости от вашего местоположения для '1/1/2017'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...