检查是否存在旧日期

时间:2017-11-08 09:29:00

标签: sql-server

我有19/2/2017, 20/8/1975, 02/03/1989, 04/08/2015等日期列表。我需要一个查询,使用SQL服务器来查找小于当前年份的年份。

例如:19/2/2017, 20/8/1975, 02/03/1989

通过使用查询,它应显示这两个20/8/1975, 02/03/1989

2 个答案:

答案 0 :(得分:0)

希望这有帮助

SELECT * FROM YourTable WHERE YEAR(DateFiled) < YEAR(GETDATE())

答案 1 :(得分:0)

为确保您正确转换日期,独立 SQL Server @@ DATEFORMAT

DECLARE @BadDateStorage table (BadData varchar(12));

INSERT @BadDateStorage (BadData)
VALUES ('02/03/1989'), ('20/8/1975'), ('019/2/2017');

SELECT CONVERT(smalldatetime, BadData, 103) 
FROM @BadDateStorage 
WHERE CONVERT(smalldatetime, BadData, 103) < '20170101'