尝试将Google Big Query中的输出字段强制转换为日期

时间:2018-09-20 19:13:03

标签: google-bigquery

这是我的标准Google大查询:

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日期(天数增量)进行比较以进行日期算术。到目前为止,我进行的各种Cast和Format尝试都失败了。

1 个答案:

答案 0 :(得分:1)

  

我希望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'