我有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
答案 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'