0
首先,我需要创建一个sproc,它会给我一个从今年到今年之前的5年的列表。我想用某种方式使用表变量?SQL从今年到今年的5年的列表,然后用作存储过程中的参数
之后,我需要使用该值作为另一个sproc中的参数。那么我怎么会说出显示包含所选年份的所有日期?我知道如何编写参数以及我只需要Where子句部分的所有内容。
列的日期都是这样2010/01/30 00:00.000一个
首先,我需要创建一个sproc,它会给我一个从今年到今年之前的5年的列表。我想用某种方式使用表变量?SQL从今年到今年的5年的列表,然后用作存储过程中的参数
之后,我需要使用该值作为另一个sproc中的参数。那么我怎么会说出显示包含所选年份的所有日期?我知道如何编写参数以及我只需要Where子句部分的所有内容。
列的日期都是这样2010/01/30 00:00.000一个
部分:
Declare @Years Table (int year primary Key Not Null)
Declare @Yr integer Set @Yr = Year(getDate())
Declare @tYr Integer Set @tYr = @Yr
while @Yr > @TYr - 5 Begin
Insert @Years(year) Values (@Yr)
Set @Yr = @Yr - 1
End
两部分:(我假设你的意思是“包含了一年显示所有日期在五年跨越”?)
Where Year(dateColumn) In (Select year from @Years)
- 但这不是优化搜索,所以我反而reccomend,
Where dateColumn Between DateAdd(year, Year(getDate())-1905, 0)
And DateAdd(year, Year(getDate())-1899, 0)