SQL Server:创建将来的日期

时间:2011-10-12 13:17:00

标签: sql sql-server sql-server-2008-r2

如何在SQL中创建未来日期?例如,我希望能够使用我的日期范围并显示下个月的所有内容(采购订单),然后显示另外两个月,等等。我已经使用fn NOW()获取当前日期/时间但是这个根本没有帮助我显示下个月的记录等。

由于

这适用于在SQL Server 2008 R2中执行的SQL查询。

2 个答案:

答案 0 :(得分:12)

如果您使用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)

答案 1 :(得分:3)

您可以使用DATEADD功能创建相对于其他日期的日期。以下调用将在未来一个月内生成日期:

DATEADD(month, 1, GETDATE())

您可以使用负数来返回以及转发。您可以使用许多其他增量,例如年,日,周,季,毫秒等。