You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决BigQuery报错Expected "(" but got identifier "tripduration"

BigQuery SQL报错修复方案

报错信息:Expected "(" but got identifier "tripduration" at [4:16]

错误原因

报错指向SQL第4行第16位,核心问题是CAST函数语法不符合BigQuery规范,标准CAST语法要求待转换字段必须放在括号内,同时你代码中ROUND、AVG的嵌套参数括号也存在错位问题。

修正后可运行代码

SELECT usertype,
CONCAT(start_station_name,"to",end_station_name) AS route,
COUNT(*) AS num_trips,
ROUND(AVG(CAST(tripduration AS int64)/60),2) AS Newduration
FROM `bigquery-public-data.new_york_citibike.citibike_trips`
GROUP BY start_station_name,end_station_name,usertype
ORDER BY num_trips DESC
LIMIT 10

主要修改点

  • 为CAST函数补充括号,正确写法为CAST(tripduration AS int64),解决触发报错的语法问题
  • 调整函数嵌套逻辑:先将tripduration转换为int64类型后再除以60计算分钟数,将精度参数2调整为ROUND的第二个入参,修正原代码中参数错位的问题
  • 可选优化:给CONCAT生成的路线字段添加别名route,避免查询结果出现无意义的默认列名

内容的提问来源于stack exchange,提问作者Rajesh Tekchandani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 23:36:00