Sql 混合使用日期时间和时间戳清理字符串列
我在字符串数据类型的BigQuery上有一个列,它混合了日期和时间戳作为字符串。 尝试安全施法、日期解析,但均无效 我希望能够以时间戳的形式统一查询此列 我希望能够以时间戳的形式统一查询此列 下面是BigQuery标准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
#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)
等等