首页 > 解决方案 > 您可以将 BigQuery 的 PARSE_TIMESTAMP 函数应用于整个字段吗?

问题描述

我有一个字段“mytimestamp”,它当前的数据类型为 STRING,语法为“DD/MM/YYYY hh:mm:ss”,我希望将其转换为 TIMESTAMP 类型的字段。函数 PARSE_TIMESTAMP 适用于特定参数,例如

SELECT PARSE_TIMESTAMP('%d/%m/%Y %H:%M:%S', '15/04/2020 15:13:52') AS mynewtimestamp

但尝试将其应用于整个列,如下所示

SELECT PARSE_DATETIME('%d/%m/%Y %H:%M:%S', mytimestamp) AS mynewtimestamp
FROM `project.dataset.table`

而是产生错误“无法解析输入字符串“mytimestamp””

标签: sqlgoogle-bigquery

解决方案


您可能在列中有错误的数据。您可以使用以下方法找到问题:

select mytimestamp
from `project.dataset.table`
where SAFE.PARSE_DATETIME('%d/%m/%Y %H:%M:%S', mytimestamp) is null

推荐阅读