Sql 混合使用日期时间和时间戳清理字符串列

Sql 混合使用日期时间和时间戳清理字符串列,sql,google-bigquery,timestamp,hubspot,Sql,Google Bigquery,Timestamp,Hubspot,我在字符串数据类型的BigQuery上有一个列,它混合了日期和时间戳作为字符串。 尝试安全施法、日期解析,但均无效 我希望能够以时间戳的形式统一查询此列 我希望能够以时间戳的形式统一查询此列 下面是BigQuery标准SQL的示例 #standardSQL SELECT close_date, COALESCE( TIMESTAMP_MILLIS(SAFE_CAST(close_date AS INT64)), SAFE.PARSE_TIMESTAMP('%m/%d/%y

我在字符串数据类型的BigQuery上有一个列,它混合了日期和时间戳作为字符串。

尝试安全施法、日期解析,但均无效

我希望能够以时间戳的形式统一查询此列

我希望能够以时间戳的形式统一查询此列

下面是BigQuery标准SQL的示例

#standardSQL
SELECT close_date, 
  COALESCE(
    TIMESTAMP_MILLIS(SAFE_CAST(close_date AS INT64)),
    SAFE.PARSE_TIMESTAMP('%m/%d/%y', close_date)
  ) AS close_date_as_timestamp
FROM `project.dataset.table`   
如果要应用于您的样本数据-结果为

Row close_date      close_date_as_timestamp  
1   1556064000000   2019-04-24 00:00:00 UTC  
2   01/24/19        2019-01-24 00:00:00 UTC  
3   1548892800000   2019-01-31 00:00:00 UTC  
4   11/27/18        2018-11-27 00:00:00 UTC    
注意:您可以添加并合并数据中所期望的任意多个不同的模式

例如,您可以添加以下内容以支持
2019-01-01

SAFE.PARSE_TIMESTAMP('%Y-%m-%d', close_date)   
等等