Databricks SQL中DATE_ADD函数DAY子句报错,求等价替代写法
Databricks SQL 中对应 T-SQL DATEADD(DAY) 的正确写法
你报错的原因是用错了Databricks SQL里DATE_ADD函数的语法——它和T-SQL的DATEADD参数逻辑完全不一样:
- Databricks的
DATE_ADD不需要指定'DAY'关键字,这个函数本身就是专门用来给日期加天数的 - 参数顺序和T-SQL相反,要把日期放在第一个位置,增量天数放在第二个位置
你的代码改成下面这样就可以正常运行:
DATE_ADD(t.openDate, 7)
另外补充下,如果需要处理其他时间单位,Databricks SQL有对应的专用函数:
- 按月增量用
ADD_MONTHS(t.openDate, 1) - 按年增量用
ADD_YEARS(t.openDate, 1)或者DATE_ADD(t.openDate, 365)(后者适合不考虑闰年的场景)
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

