【问题标题】:Extract timestamp from column with T and Z从具有 T 和 Z 的列中提取时间戳
【发布时间】:2022-08-24 15:30:43
【问题描述】:

我在 BigQuery 中有一些日志,其中包含以这种格式存储的时间戳:

2022-08-12T17:00:39.615375452Z
2022-08-12T17:00:46.166243682Z
2022-08-12T10:00:54.089419181Z
2022-08-12T07:35:39.581949967Z
2022-08-12T07:00:49.781439084Z  
2022-08-12T09:00:18.66496629Z
2022-08-12T07:38:48.435754277Z  
2022-08-12T15:00:23.25020843Z

如果我尝试使用 TIMESTAMP 函数将该列转换为时间戳,我会收到以下错误:

Invalid timestamp: \'2022-08-10T16:00:05.909896168Z\'

我通过手动提取所需字段绕过了这个错误,但这不是很优雅,我想知道是否有另一种方法可以做到这一点。

谢谢 !

  • SELECT PARSE_TIMESTAMP(\'%FT%H:%M:%E*SZ\', \'2022-08-10T16:00:05.909896168Z\')不工作?
  • 它确实有效,我不知道要使用的正确语法。谢谢 !

标签: google-bigquery timestamp


【解决方案1】:

正如@jaytiger 提到的,尝试使用:

SELECT PARSE_TIMESTAMP('%FT%H:%M:%E*SZ', '2022-08-10T16:00:05.909896168Z')

【讨论】:

    猜你喜欢
    • 2021-08-29
    • 2019-11-11
    • 2015-05-30
    • 1970-01-01
    • 2021-01-09
    • 2015-01-10
    • 2016-08-10
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多