Bra*_*rad 13 sql t-sql sql-server stored-procedures sql-server-2008
我猜这是不可能的,因为引擎不喜欢它,但有没有办法(禁止动态SQL)DATEPART作为参数传递给一个过程?
小智 12
一种选择是使用带参数的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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11717 次 |
| 最近记录: |