BigQuery:将字符串转换为日期时间
BigQuery: cast string as datetime
我在 bigquery 中有一个名为 'timestamp' 的包含数百万个日期的列,但它们被标记为字符串。
时间戳列的格式如下:
2022-02-09T12:01:51.911821Z
对于数据集中的每个观测值。
我希望将其转换为日期时间并尝试了以下操作:
SELECT
CAST(timestamp AS DATETIME)
FROM
`bigquery_table`
LIMIT
1000
查询将处理,但我被告知 'Invalid datetime string "2022-02-09T12:01:51.911821Z"'。有什么解决这个问题的建议吗?
谢谢
您可以尝试先将其转换为 datetimeoffset,如下所示:
select cast(cast('2022-02-09T12:01:51.911821Z' as datetimeoffset) as datetime)
那可能是ISO 8601格式,你可以使用PARSE_TIMESTAMP
函数。
SELECT
PARSE_TIMESTAMP('%Y-%m-%dT%H:%M:%E*SZ', timestamp)
FROM
`bigquery_table`
LIMIT
1000
我在 bigquery 中有一个名为 'timestamp' 的包含数百万个日期的列,但它们被标记为字符串。
时间戳列的格式如下:
2022-02-09T12:01:51.911821Z
对于数据集中的每个观测值。
我希望将其转换为日期时间并尝试了以下操作:
SELECT
CAST(timestamp AS DATETIME)
FROM
`bigquery_table`
LIMIT
1000
查询将处理,但我被告知 'Invalid datetime string "2022-02-09T12:01:51.911821Z"'。有什么解决这个问题的建议吗?
谢谢
您可以尝试先将其转换为 datetimeoffset,如下所示:
select cast(cast('2022-02-09T12:01:51.911821Z' as datetimeoffset) as datetime)
那可能是ISO 8601格式,你可以使用PARSE_TIMESTAMP
函数。
SELECT
PARSE_TIMESTAMP('%Y-%m-%dT%H:%M:%E*SZ', timestamp)
FROM
`bigquery_table`
LIMIT
1000