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')
)