sql - 在 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')
解决方案
下面是 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
推荐阅读
- regex - 如何在正则表达式匹配之前返回列表的所有元素?
- docker - ZAP 守护程序在 localhost 上侦听
- keycloak - 无法将用户从 AD 获取到 keycloak
- c++ - 为什么创建的线程数小于thread-max?
- r - 为什么R在强制数据帧时将数字和字符转换为因子?
- node.js - 在多个数据库上使用 Mongoose-Transactions
- regex - 列表中的正则表达式时间提取抛出属性 NoneType 错误
- java - java.lang.NoSuchMethodError: com.mongodb.connection.DefaultClusterFactory.createCluster
- linux - 从 Windows Server 到 Linux 主机的 SCP
- xcode - 尝试拉 git Xcode 时出错