Sql 如何编写带有日期范围的case语句
我正在尝试根据a datetime值返回季度 以下脚本出现错误: 结果将varchar数据类型转换为datetime数据类型 在超出范围的值中 使用一个“WHEN”子句似乎可以很好地工作,但使用4则会产生错误Sql 如何编写带有日期范围的case语句,sql,sql-server,Sql,Sql Server,我正在尝试根据a datetime值返回季度 以下脚本出现错误: 结果将varchar数据类型转换为datetime数据类型 在超出范围的值中 使用一个“WHEN”子句似乎可以很好地工作,但使用4则会产生错误 原因是什么?没有2017-06-31这样的日期。应该是2017-06-30。没有2017-06-31这样的日期。应该是2017-06-30。错误是因为6月和9月只有30天,但您要求的是第31天 另外,您最后一次的WHE声明是一年后的。错误是因为六月和九月只有30天,但您要求的是第31天 另
原因是什么?没有2017-06-31这样的日期。应该是2017-06-30。没有2017-06-31这样的日期。应该是2017-06-30。错误是因为6月和9月只有30天,但您要求的是第31天
另外,您最后一次的WHE声明是一年后的。错误是因为六月和九月只有30天,但您要求的是第31天
另外,您的最后一次when声明是一年后的声明。您有一个内置的方法:
SELECT DATEPART(QUARTER, @d)
您有一个内置的方法:
SELECT DATEPART(QUARTER, @d)
明年你会做什么?我认为最好使用内置方法,这样就不需要每年重写查询。请参考我的回答以及你明年将做什么?我认为最好使用内置方法,这样就不需要每年重写查询。请参考我的答案