我需要一年中的第一天作为参数值 简要说明: 我有一个这样的SQL查询命令,用ssis OLE DB源代码编写
SELECT [StudentID]
,[StudentName]
,[StartDate]
,[EndDate]
,[DepartmentID]
FROM [Student].[dbo].[StudentPrimaryDetails] where StartDate = ?
结果
StudentID StudentName StartDate EndDate DepartmentID
1 Shah Jan 1 2014 12:00AM NULL 1
2 Sumitra Jan 1 2014 12:00AM NULL 1
3 Sumathi Jan 1 2015 12:00AM NULL 2
4 Avinash Jan 1 2016 12:00AM NULL 3
5 subbu Jan 1 2015 12:00AM NULL 4
6 Venky Jan 1 2015 12:00AM NULL 1
7 Akash Jan 1 2015 12:00AM NULL 2
我在SSIS中添加了日期参数 将Startdate和datetype命名为datetime,将值命名为2015-01-01
但是,而不是日期参数中的硬代码值我需要传递动态值并获得每年的第一天我删除硬代码并在需要时运行包而不更改包中的任何内容。请帮助我。< / p>
答案 0 :(得分:1)
以下查询将给出当年的开始日期:
SELECT DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
根据您的需要进行整个查询:
SELECT [StudentID]
,[StudentName]
,[StartDate]
,[EndDate]
,[DepartmentID]
FROM [Student].[dbo].[StudentPrimaryDetails] where StartDate = (
SELECT DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0) )
答案 1 :(得分:0)