sql - 使用日期函数获取仅小于特定日期的日期

标签 sql sql-server database tsql

我有一个名为 tableA 的表,其中一个字段是 TrasactionDate。我有一个名为 myfixeddate 的特定日期(比如说它是 2014-03-08)。

我想在 4 个月内获得 TransactionDate,但只能在我的固定日期 myfixeddate ('2014-03-08') 之前来自 tableA。假设我的查询应该给出 '2014-03-06','2014-03-05','2014-02-01',...

但是当我使用以下查询时:

SELECT TrasactionDate 
FROM tableA 
WHERE datediff(mm,Transdate,myfixeddate) < 4

它以两种方式(之前和之后)给出 TransactionDate。这意味着结果给 '2014-03-10','2014-03-18' 和想要的像 '2014-03-05',... .

能否请您告诉我如何防止这种情况以及我需要使用什么代码才能在一个方向上获取 TransactionDate

最佳答案

你可以这样尝试:

Select TrasactionDate from tableA 
where [TrasactionDate] between DATEADD(month, -4, myfixeddate) and myfixeddate

关于sql - 使用日期函数获取仅小于特定日期的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25785284/

相关文章:

SQL 加权平均值

MySQL 查询返回错误

sql - 如何使用时间戳减去特定小时数进行 SQL Server 选择

sql-server - 检查日期范围是否有周末

php - 是否可以通过知道 PHP 中的用户名和密码(仅)来破解我的数据库

mysql - 显示当前运行的所有存储过程

sql - WHERE 子句中的 IS NOT NULL 和 ISNULL(str, NULL)

sql - 如何编辑 SQL Server 主数据库文件 .mdf

c# - 显示 MySql 服务器的数据库

database - 对象关闭时不允许操作 - 在第一行创建表语句?