Bigquery - 字符串中'1'非法的非空格尾随数据



>我在bigquery中运行下面的查询。TS_Estimated_Dispatch的数据类型为字符串。

            SELECT
            Order_Number
            FROM
            `MYTABLE`
            WHERE
            Customer_Country = 'ABC'
            AND Partner_Country = 'DEF'
            AND SO_Item_Status IN (1,2,3)
            AND TIMESTAMP(PARSE_DATE('%Y-%m-%d',
            TS_Estimated_Dispatch )) > '2018-04-20'

错误:查询失败错误:字符串"2018-04-22 17:00:00"中的非法非空格尾随数据"1">

不确定你到底想做什么。您已经在此字符串中具有可比较的日期格式:2018-04-22 17:00:00,因此如果您在比较中使用它就足够了

select '2018-04-22 17:00:00'>'2018-04-21';
select TS_Estimated_Dispatch > '2018-04-20';

另一方面,解析字符串时,始终需要精确长度,因此,如果在模式 %Y-%m-%d 中使用了 10 个字符,则需要在长度相似的字符串上使用。

select PARSE_DATE('%Y-%m-%d', substr('2008-12-25 22:30:00',1,10))
select PARSE_DATE('%Y-%m-%d', substr(TS_Estimated_Dispatch ,1,10)) > DATE('2008-12-23')

这将返回DATE因此为了进行比较,您需要与 DATE 字段进行比较,而不是任意写入的字符串。

最新更新