我在bigquery中有一个表,该表的列类型为“ timeStamp”,数据类型为STRING。此列中的值类似于此“ 20180902”。
这就是我试图解析此字符串为最新日期的方式
SELECT PARSE_DATE('%Y%m%d', timeStamp) AS date FROM data.data_temp
但这会引发错误,提示“无法解析输入字符串“ timeStamp””
此外,以下查询同时成功运行,并将日期返回为“ 2018-09-02”
SELECT PARSE_DATE('%Y%m%d', '20180902') AS date FROM data.data_temp
关于这里发生的事情以及如何解决此问题的任何线索吗?
答案 0 :(得分:1)
下面的示例显示,如果您声明值确实为“ 20180902”,则该值应该有效
#standardSQL
WITH `project.dataset.table` AS (
SELECT '20180902' timeStamp
)
SELECT
`timeStamp`,
PARSE_DATE('%Y%m%d', timeStamp ) AS date
FROM `project.dataset.table`
结果为
Row timeStamp date
1 20180902 2018-09-02
因此,该问题在某些行中可能具有错误的值-并且您需要标识这些行
答案 1 :(得分:0)
我发现了问题。我的表底部有一行,其值是“ timeStamp”。删除该行,一切正常。