【问题标题】:Why I'm getting the below error when running SQL with BigQuery为什么在使用 BigQuery 运行 SQL 时出现以下错误
【发布时间】:2019-09-20 15:34:39
【问题描述】:

这是我的 sql

SELECT
  date,
  name,
  post
FROM
  [dataset.table]
WHERE
  date='2019-05-01';

这是错误

错误:函数 EQUAL 中的参数类型不匹配:“日期”是 int32 类型,“2019-05-01”是字符串类型

【问题讨论】:

  • 提供您的数据示例,特别是字段date - 正如您从错误消息中看到的那样 - 当您将其与字符串进行比较时,它是整数,因此是错误。很可能您的 date 看起来像 20190501 或类似的东西 - 请澄清,以便我们能够为您提供帮助
  • 表分区后出现此错误
  • 行日期名称职位 1 2019-04-01 vinay 经理 2 2019-04-03 surbhi eng 3 2019-05-01 bhupendra test 4 2019-05-02 aniket sr.software.eng跨度>

标签: google-bigquery


【解决方案1】:

如果您的 date 参数中没有具体的数据格式示例,则无法给出准确的工作答案。

也就是说,您需要指定 '2019-05-01' 是一个日期,date('2019-05-01')

关于您的date 参数,您需要将其转换为日期。假设它当前被格式化为纪元时间戳,以下将起作用:DATE(TIMESTAMP(date))

所以你最终会得到类似的东西:

WHERE 
    DATE(TIMESTAMP(date)) = date('2019-05-01')

值得一提的是date可能不是一个好的参数名称。

【讨论】:

    猜你喜欢
    • 2023-01-05
    • 2021-01-19
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    相关资源
    最近更新 更多