【问题标题】:BigQuery time zone conversionBigQuery 时区转换
【发布时间】:2020-03-20 22:31:30
【问题描述】:

我正在尝试将时区转换查询从 bigquery 转换为 presto,现有的 bigquery 语法如下:

timestamp(datetime('2019-07-01'), 'US/Pacific')

但是这个 bigquery 的语法一开始是不正确的吗?谢谢!

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    没错。

    另外,请考虑以下 - 取决于您期望的确切输出

    TIMESTAMP('2019-07-01', 'US/Pacific')

    DATETIME('2019-07-01', '美国/太平洋')

    语法是

    TIMESTAMP(
      string_expression[, timezone] |
      date_expression[, timezone] |
      datetime_expression[, timezone]
    )   
    

    DATETIME(timestamp_expression [, timezone])
    

    【讨论】:

    • 感谢您的建议,因此我以以下变体形式运行了查询并得到了结果:TIMESTAMP(DATETIME('2019-07-01'), 'US/Pacific') --> 2019-07 -01 07:00:00 TIMESTAMP('2019-07-01', 'US/Pacific') --> 2019-07-01 07:00:00 DATETIME('2019-07-01', 'US/Pacific ') --> 2019-06-30 17:00:00 似乎 TIMESTAMP 只是将时区差异的绝对小时添加到日期,而 DATETIME 减去时区差异。
    • 正如我在回答中提到的那样-“取决于您期望的确切输出”以及您的用例。与此同时,问题是关于 bigquery 语法的,它恰好是正确的:o)
    猜你喜欢
    • 2018-10-05
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多