BigQuery PARSE_TIMESTAMP 未能解析字符串
BigQuery PARSE_TIMESTAMP Failed to Parse String
我正在尝试将字符串转换为 BigQuery 中的时间戳格式。
来源的所有日期格式为“10/15 11:59 PM”。
这是我正在尝试的概念证明:
SELECT
PARSE_TIMESTAMP(
'%d/%m/%y %I:%M %p',
CONCAT(SPLIT('10/15 5:00 PM', ' ')[offset(0)]
,'/',FORMAT_DATE('%y',CURRENT_DATE()),' '
,SPLIT('10/15 5:00 PM', ' ')[offset(1)],' '
,SPLIT('10/15 5:00 PM', ' ')[offset(2)]
)
)
这个生成的字符串是“10/15/18 5:00 PM”,这在我看来是正确的,但是当我 运行 它时,我得到错误:
Query Failed Error: Failed to parse input string "10/15/18 5:00 PM"
还有什么我可以尝试将其格式化为时间戳的想法吗?
谢谢!
我想你快到了,但是你的日期和月份是错误的,所以它试图获得第 15 个月。
SELECT
PARSE_TIMESTAMP(
'%m/%d/%y %I:%M %p',
CONCAT(SPLIT('10/15 5:00 PM', ' ')[offset(0)]
,'/',FORMAT_DATE('%y',CURRENT_DATE()),' '
,SPLIT('10/15 5:00 PM', ' ')[offset(1)],' '
,SPLIT('10/15 5:00 PM', ' ')[offset(2)]
)
)
以下适用于 BigQuery 标准 SQL
SELECT
PARSE_TIMESTAMP('%Y/%m/%d %I:%M %p',
CONCAT(FORMAT_DATE('%Y/',CURRENT_DATE()),'10/15 5:00 PM')
)
我正在尝试将字符串转换为 BigQuery 中的时间戳格式。
来源的所有日期格式为“10/15 11:59 PM”。
这是我正在尝试的概念证明:
SELECT
PARSE_TIMESTAMP(
'%d/%m/%y %I:%M %p',
CONCAT(SPLIT('10/15 5:00 PM', ' ')[offset(0)]
,'/',FORMAT_DATE('%y',CURRENT_DATE()),' '
,SPLIT('10/15 5:00 PM', ' ')[offset(1)],' '
,SPLIT('10/15 5:00 PM', ' ')[offset(2)]
)
)
这个生成的字符串是“10/15/18 5:00 PM”,这在我看来是正确的,但是当我 运行 它时,我得到错误:
Query Failed Error: Failed to parse input string "10/15/18 5:00 PM"
还有什么我可以尝试将其格式化为时间戳的想法吗?
谢谢!
我想你快到了,但是你的日期和月份是错误的,所以它试图获得第 15 个月。
SELECT
PARSE_TIMESTAMP(
'%m/%d/%y %I:%M %p',
CONCAT(SPLIT('10/15 5:00 PM', ' ')[offset(0)]
,'/',FORMAT_DATE('%y',CURRENT_DATE()),' '
,SPLIT('10/15 5:00 PM', ' ')[offset(1)],' '
,SPLIT('10/15 5:00 PM', ' ')[offset(2)]
)
)
以下适用于 BigQuery 标准 SQL
SELECT
PARSE_TIMESTAMP('%Y/%m/%d %I:%M %p',
CONCAT(FORMAT_DATE('%Y/',CURRENT_DATE()),'10/15 5:00 PM')
)