SQL Server:创建未来日期

5

如何在SQL中创建未来的日期?例如,我想使用我的日期范围并仅显示下个月(采购订单)的所有内容,然后再为两个月后的订单等创建一个。我已经使用fn NOW()获取当前日期/时间,但这对于显示下个月的记录没有帮助。

谢谢。

这是在SQL Server 2008 R2中执行的SQL查询。


你将如何使用它?你需要对日期列表进行外连接,还是仅用作搜索过滤器? - Martin Smith
2个回答

13

如果您使用MySQL,可以使用:

SELECT date_col FROM your_table
WHERE date_col BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 1 MONTH)

对于 MS-SQL(应该可以工作):

SELECT date_col FROM your_table
WHERE date_col BETWEEN GETDATE() AND DATEADD(Month, 1, GETDATE())

对于Oracle数据库(应该可以这样做):

SELECT date_col FROM your_table
WHERE date_col BETWEEN SYSDATE AND add_months(SYSDATE, 1)

3

您可以使用DATEADD函数来创建相对于另一个日期的日期。以下调用将生成一个比现在晚一个月的日期:

DATEADD(month, 1, GETDATE())

您可以使用负数来往回移动,而不仅是往前移动。还有许多其他增量可用,例如年、日、周、季度、毫秒等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接