我正在尝试从SQLServer数据库中获取最近一年的记录。
例如,今天是2020年5月28日,那么它应该从2019年5月1日获取记录。但数据库中的日期列存储为整数。
我尝试了以下查询,但不起作用,
SELECT Ft.EmpCode, Ft.YMD
FROM DADAILYF AS Ft
WHERE Ft.YMD BETWEEN CONVERT(varchar(19), GETDATE(), 112) - INTERVAL 1 YEAR
AND CONVERT(varchar(19), GETDATE(), 112);
请帮帮我。
2条答案
按热度按时间cedebl8k1#
例如,今天是2020年5月28日,那么它应该从2019年5月1日获取记录
您将日期存储为整数,如
YYYYMMDD
. 你可以这样使用算术:计算结果给出了当前月份的开始日期,即年前的n个整数(即20190501)。
如果你想要一个上限(比如,直到今天包括在内),那么:
rslzwgfq2#
另一个选择是
format()
. 注意MM01') - 10000
例子退货