我创建了一个存储过程来将记录插入表中以供假期使用。目前我只能插入一个日期。我想做的是能够使用两者之间进入一整周或一个月等。
我的存储过程是:
ALTER procedure [dbo].[usp_UpdateVacationTable&Alert]
(
@VacationDate DATETIME,
@VacationType NVARCHAR(MAX),
@VacationTypeID INT,
@StaffCode NVARCHAR(4),
@StaffName NVARCHAR(MAX),
@Notes NVARCHAR(MAX),
@FTE FLOAT,
@CreatedBy NVARCHAR(MAX),
@CreatedDate DATETIME
)
as
begin
insert tblVacationRecords
(
VacationDate
, VacationType
, VacationTypeID
, StaffCode
, StaffName
, Notes
, FTE
, CreatedBy
, CreatedDate
)
values
(
@VacationDate,
@VacationType,
@VacationTypeID,
@StaffCode,
@StaffName,
@Notes,
@FTE,
@CreatedBy,
@CreatedDate
)
答案 0 :(得分:0)
不确定如何在您的情况下使用BETWEEN。但我建议您查看表值参数:http://www.techrepublic.com/blog/the-enterprise-cloud/passing-table-valued-parameters-in-sql-server-2008/
答案 1 :(得分:0)
看看这个:How to generate a range of dates in SQL Server和You require a numbers table这个更容易&如果您经常运行此数字表,则效率更高。否则,您可以使用这些示例中的系统表来获取可以加入的范围