【问题标题】:BigQuery: Syntax error: Unexpected keyword LEFTBigQuery:语法错误:意外的关键字 LEFT
【发布时间】:2019-05-09 18:52:00
【问题描述】:

我从 BigQuery 中的以下 SQL(标准 SQL)中收到“语法错误:意外的关键字 LEFT”错误:

select left(cast(ts as string), 16) from temp.loc limit 1;

"ts" 是一个时间戳字段,我想获得最多几分钟的时间戳。有什么想法吗?

【问题讨论】:

  • 只运行 "select left('this is a test', 5)" 会产生同样的错误。
  • 这个查询应该是我所看到的。也许在您的问题中包含一些示例数据。
  • @TimBiegeleisen 您可以在评论部分看到我上面的非常基本的示例。这发生在 Big Query 控制台中。

标签: google-bigquery


【解决方案1】:

Left 不是标准 SQL 中的函数。尝试使用 substr 代替

SUBSTR

【讨论】:

    【解决方案2】:

    如果您想从timestamp 字段中提取分钟,请使用EXTRACT - https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#extract_1

    EXTRACT(minutes from ts) as minutes
    

    【讨论】:

      【解决方案3】:

      对于那些寻找如何获取字符串中最左边的字符的人: 使用 LPAD 而不是 LEFT。

      例子:

      SELECT 
        LPAD('Hello', 3)
      

      返回“Hel”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-12
        • 1970-01-01
        • 2015-12-11
        • 1970-01-01
        • 2013-07-21
        相关资源
        最近更新 更多