【发布时间】:2014-02-18 12:16:57
【问题描述】:
我正在使用以下存储过程从数据库中获取一些数据。 meetingDate 列的格式为日期时间,并且仅包含有效数据。
如何修改存储过程,使其只显示下一条匹配记录而不是全部?
示例:
今天 = 2014 年 2 月 18 日; 数据库包含 meetingDate = 20/02/2014、27/02/2014 和 04/03/2014 的记录; 在这种情况下,结果应该只是 20/02/2014 的记录,作为未来的下一个匹配记录。
我的存储过程:
ALTER PROCEDURE [dbo].[FetchMeetings]
AS
BEGIN
SET NOCOUNT ON;
SELECT A.meetingID,
CONVERT(VARCHAR(11), A.meetingDate, 106) AS meetingDate,
A.created,
A.createdBy,
A.updated,
A.updatedBy,
B.speaker AS speaker,
B.topic AS topic
FROM MeetingDates A
INNER JOIN MeetingDetails B
ON A.meetingID = B.meetingID
WHERE meetingDate >= GETDATE()
ORDER BY meetingDate, speaker, topic
FOR XML PATH('meeting'), ELEMENTS, TYPE, ROOT('ranks')
END
非常感谢您提供的任何帮助,蒂姆。
【问题讨论】:
-
可能是日期列格式不同。日期列的数据类型和日期参数数据类型是什么?
标签: sql sql-server datetime stored-procedures