在SQL Server中,在当天的基础上加上1个月时间,这是用哪个函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL Server中,在当天的基础上加上1个月时间,这是用哪个函数?相关的知识,希望对你有一定的参考价值。
比如今天是3月1号,加上一个月之后变成4月1号
DATEADD() 函数是在日期中添加或减去指定的时间间隔。
现在,我们希望向 "OrderDate" 添加 2 天,可以使用:
SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDate FROM Orders
看到了嘛!!由12月29号变成12月31号,增加了2天。
针对你这个问题就可以使用:
select dateadd(month,1,getdate()) from 表名,这样就可以在当天的基础上加1个月的时间了!
SELECT '现在' AS [日期], GETDATE() AS [数据]
UNION ALL
SELECT '下一秒' AS [日期], DATEADD(ss, 1, GETDATE() ) AS [数据]
UNION ALL
SELECT '下一分' AS [日期], DATEADD(mi, 1, GETDATE() ) AS [数据]
UNION ALL
SELECT '下一小时' AS [日期], DATEADD(hh, 1, GETDATE() ) AS [数据]
UNION ALL
SELECT '明天' AS [日期], DATEADD(dd, 1, GETDATE() ) AS [数据]
UNION ALL
SELECT '下周' AS [日期], DATEADD(ww, 1, GETDATE() ) AS [数据]
UNION ALL
SELECT '下月' AS [日期], DATEADD(mm, 1, GETDATE() ) AS [数据]
UNION ALL
SELECT '下季度' AS [日期], DATEADD(qq, 1, GETDATE() ) AS [数据]
UNION ALL
SELECT '明年' AS [日期], DATEADD(yy, 1, GETDATE() ) AS [数据]
go
日期 数据
-------- -----------------------
现在 2010-08-31 17:20:57.950
下一秒 2010-08-31 17:20:58.950
下一分 2010-08-31 17:21:57.950
下一小时 2010-08-31 18:20:57.950
明天 2010-09-01 17:20:57.950
下周 2010-09-07 17:20:57.950
下月 2010-09-30 17:20:57.950
下季度 2010-11-30 17:20:57.950
明年 2011-08-31 17:20:57.950
(9 行受影响)
SELECT '下月' AS [日期], DATEADD(mm, 1, GETDATE() ) AS [数据]
参考技术B dateadd(datepart, number, date) , datapart指定对那一部分加,number知道加多少,date指定在谁的基础上加。getdate()表示当前时间。 参考技术C declare @paraDate datetimeset @paraDate='2014.3.1'
declare @resultDate datetime--这个就是你要的值,dateadd就是你要的函数
set @resultDate=dateadd(month,1,@paraDate) 参考技术D select dateadd(month,1,getdate())追问
能解说一下么?
追答getdate()就是当前时间
你也可以写成 dateadd(month,1,‘2014-3-7’) ,对这个值进行select,结果就是2014-4-7
以上是关于在SQL Server中,在当天的基础上加上1个月时间,这是用哪个函数?的主要内容,如果未能解决你的问题,请参考以下文章