首页 > 解决方案 > 在 SQL 中转换格式为 YYYY-MM-DD HH:MM:SS 的日期、日期和时间戳字符串

问题描述

有没有办法使用 BigQuery 中的标准 SQL 语法转换“格式为 YYYY-MM-DD HH:MM:SS 的日期、日期和时间戳字符串”。

例如:

2018 年 8 月 31 日星期五 13:00:57 +0000

这是我试图想出的:

SELECT PARSE_DATETIME('%a,%d %b %Y %E#S' , 'Fri, 31 Aug 2018 13:00:57 +0000') 

标签: sqlgoogle-bigquery

解决方案


下面是 BigQuery 标准 SQL 的示例

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 'Fri, 31 Aug 2018 13:00:57 +0000' ts_string
)
SELECT 
  ts_string, 
  PARSE_TIMESTAMP('%a, %d %b %Y %X %z' , ts_string) ts_timestamp,
  DATETIME(PARSE_TIMESTAMP('%a, %d %b %Y %X %z' , ts_string)) ts_datetime
FROM `project.dataset.table`

结果

Row ts_string                         ts_timestamp              ts_datetime  
1   Fri, 31 Aug 2018 13:00:57 +0000   2018-08-31 13:00:57 UTC   2018-08-31T13:00:57

推荐阅读