BigQuery SQL中DATE_TRUNC()函数的正确语法是什么?
DATE_TRUNC报错“需要有效的日期部分名称”的解决办法
常见修复方案
- 调整日期部分的大小写:部分数据库要求日期部分参数为小写,将
'DAY'改为'day'再尝试:
GROUP BY "User", DATE_TRUNC('day', TIMESTAMP '2022-09-23 11:00:00 UTC')
- 替换为数据库兼容的日期截断方式:如果使用MySQL这类不支持DATE_TRUNC的数据库,改用
DATE()函数实现按天分组:
GROUP BY `User`, DATE('2022-09-23 11:00:00 UTC')
- 检查参数顺序:少数数据库的DATE_TRUNC参数顺序为「日期值在前,截断部分在后」,调整后尝试:
GROUP BY "User", DATE_TRUNC(TIMESTAMP '2022-09-23 11:00:00 UTC', 'day')
- 处理关键字冲突:
User是SQL保留关键字,建议用引号包裹(不同数据库语法不同:PostgreSQL用双引号,MySQL用反引号),避免语法解析错误。
内容的提问来源于stack exchange,提问作者User3001
相关产品推荐
相关产品推荐

