请参阅下面的示例(BigQuery Standard SQL),其中包含两个解决问题的方法
WITH your_table AS (
SELECT 'Feb 27, 2021 14:11:25 PM' AS messagecreatedat UNION ALL
SELECT 'Dec 07, 2020 04:48:44 AM' UNION ALL
SELECT 'Dec 07, 2020 04:48:35 AM' UNION ALL
SELECT 'Dec 07, 2020 04:48:55 AM' UNION ALL
SELECT 'Mar 16, 2021 22:17:27' UNION ALL
SELECT 'Dec 07, 2020 04:51:51 AM'
)
SELECT
messagecreatedat,
PARSE_TIMESTAMP('%b %d, %Y %T', REGEXP_REPLACE(messagecreatedat, ' [AP]M$', ''), 'UTC') AS messagecreatedat_1,
IFNULL(
SAFE.PARSE_TIMESTAMP('%b %d, %Y %T %p', messagecreatedat, 'UTC'),
SAFE.PARSE_TIMESTAMP('%b %d, %Y %T', messagecreatedat, 'UTC')
) messagecreatedat_2
FROM your_table
带输出