Lui*_*uis 3 sql google-bigquery
我想添加到中的查询TIMESTAMP列UTC。
我知道BigQuery具有CURRENT_TIMESTAMP()功能,但没有说明如何将其转换为UTC。
在MYSQL我会做:
SELECT UTC_TIMESTAMP()
Run Code Online (Sandbox Code Playgroud)
BigQuery中的等效项(仅适用于标准SQL)是什么?
如文档中TIMESTAMP所述,A 不存储或使用时区。进行解析时,它可能具有从保存时开始转换的时区。
时间戳表示绝对时间点,与任何时区或约定(例如夏令时)无关。
更具体地说
假设只是每分钟60秒,那么时间戳就是从1970-01-01 00:00:00 UTC的偏移。seconds秒不表示为存储时间戳的一部分。
查询时,CURRENT_TIMESTAMP()它还通过零时区偏移来明确显示它处于UTC。因此,这是基于此的UTC时间戳。
使用它可能会出现问题,因为它不在UTC中存储任何内容,也不在乎leap秒。规范说:
只有通过测量实际时间的功能才能观察到seconds秒。在这些功能中,有a秒时可能会跳过或重复时间戳秒。
因此,如果需要这些leap秒,可能需要在特定时区使用另一种数据类型来处理leap秒。
还说明了转换:
如果您输入的值在秒字段中使用“:60”表示to秒,则在转换为时间戳值时不会保留该leap秒。取而代之的是,该值将在下一分钟的秒字段中解释为带有“:00”的时间戳。
| 归档时间: |
|
| 查看次数: |
1448 次 |
| 最近记录: |