Mik*_*ike 5 sql sql-server stored-procedures date
我有一个存储过程,根据与日期输入匹配的日期获取记录,到目前为止工作正常.表格中的日期和输入日期都被格式化为日期时间.
我没有比较完整的日期,而是想改变它,以便它只比较月和日,以便它适用于任何一年的输入.
示例:
表中的日期保存为2013-04-30,输入日期为2014-04-30.我想要的是,只要月份和日期匹配,存储过程仍然会独立于年份返回该记录.
我的存储过程:
ALTER PROCEDURE [dbo].[FetchDays]
@inputDate datetime
AS
BEGIN
SET NOCOUNT ON;
SELECT dateID,
dayDT,
countries,
regions
FROM DaysDT
WHERE dayDT = @inputDate
FOR XML PATH('daysFixed'), ELEMENTS, TYPE, ROOT('root')
END
Run Code Online (Sandbox Code Playgroud)
非常感谢Mike的任何帮助.
你可以这样做;)
ALTER PROCEDURE [dbo].[FetchDays]
@inputDate datetime
AS
BEGIN
SET NOCOUNT ON;
SELECT dateID,
dayDT,
countries,
regions
FROM DaysDT
WHERE
DAY(dayDT) = DAY(@inputDate) --Extract and compare day
AND MONTH(dayDT) = MONTH(@inputDate) --Extract and compare month
FOR XML PATH('daysFixed'), ELEMENTS, TYPE, ROOT('root')
END
Run Code Online (Sandbox Code Playgroud)