如何在SQL中创建未来日期?例如,我希望能够使用我的日期范围并显示下个月的所有内容(采购订单),然后显示另外两个月,等等。我已经使用fn NOW()获取当前日期/时间但是这个根本没有帮助我显示下个月的记录等。
由于
这适用于在SQL Server 2008 R2中执行的SQL查询。
答案 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())
您可以使用负数来返回以及转发。您可以使用许多其他增量,例如年,日,周,季,毫秒等。