DATEADD函数参数错误:向日期加指定月数的SQL报错排查
问题排查与解决方案
错误原因:你搞反了
DATEADD函数的参数顺序。SQL Server中DATEADD的语法是DATEADD(datepart, number, date),其中第二个参数需要是数值类型(要添加的增量),第三个参数才是日期类型(基础日期)。你把ED.books_close_date(datetime类型)放在了第二个参数的位置,这就触发了类型不匹配的错误。修正后的代码:
把增量数值和基础日期的位置调换即可,转换部分本身没有问题:CONVERT(varchar, DATEADD(MONTH, PPD.Month_Diff, ED.books_close_date))如果需要指定特定的日期格式,可以给
CONVERT添加样式参数,比如要得到YYYY-MM-DD格式:CONVERT(varchar, DATEADD(MONTH, PPD.Month_Diff, ED.books_close_date), 23)
内容的提问来源于stack exchange,提问作者CraigReynolds
相关产品推荐
相关产品推荐

