sql – DATEPART作为参数

前端之家收集整理的这篇文章主要介绍了sql – DATEPART作为参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我猜这是不可能的,因为引擎不喜欢它,但有一种方法(除了动态sql)作为参数传递给DATEPART的过程?

解决方法

一个选项是使用带参数的CASE(最好使用int枚举而不是字符串):
declare @part varchar(10)
set @part = 'YEAR'
select case @part 
            when 'YEAR' then datepart(yy,SomeDateTimeColumn) 
            when 'MONTH' then datepart(mm,SomeDateTimeColumn) 
            else datepart(dd,SomeDateTimeColumn) 
        end
from SoMetable

猜你在找的MsSQL相关文章