SQL常用日期处理函数

/**//* datepart()函数的使用                          

* datepart()函数可以方便的取到时期中的各个部分

*如日期:2006-07--02 18:15:36.513

* yy:取年           2006

* mm:取月           7

* dd:取月中的天     2

* dy:取年中的天     183

* wk:取年中的周     27

* dw:取周中的天     1

* qq:取年中的季度   3

* hh:取小时        18

* mi:取分钟        15

* ss:取秒          36

* 以下简单的语句可以演示所取到的结果

*/

select getdate()

select datepart(mm,getdate())

select datepart(yy,getDate())

select datepart(dd,getdate())

select datepart(dy,getdate())

select datepart(wk,getdate())

select datepart(dw,getdate())

select datepart(qq,getdate())

select datepart(hh,getdate())

select datepart(mi,getdate())

select datepart(ss,getdate())

 

select datediff(dd,getdate(),'12/25/2006')--计算从今天到12/25/2006还有多少天

select datediff(mm,getdate(),'12/25/2006')--计算从今天到12/25/2006还有多少个月

select datename(mm,getdate())             --以字符串而不是数字的形式得到今天的月份(07)

 

select dateadd(dd,30,getdate())           --在目前的日期日期上加30天

select dateadd(mm,3,getdate())            --在目前的日期日期上加3个月

select dateadd(yy,1,getdate())            --在目前的日期日期上加1年

 

select DATEADD(qq,DATEDIFF(qq,0,getdate()), 0)--得到本季度第一天

select dateadd(mm,-3,DATEADD(qq,  DATEDIFF(qq,0,getdate()),  0)) --得到上主、季度第一天

--另外使用getdate()函数返回的日期包括到毫秒级,有时我们只需要取出一部分如 2007-05-26 

select convert(varchar(10),getdate(),120)--结果2007-05-26 

/*

说明 varchar(10)为截取长度为10个字符

getdate()是需要处理的日期,也可以直接给日期字符串

如:2007-05-26 10:00:28.420

120:为getdate()的格式具体可参看以下列表

 参数 结果  

 100  05  8 2006  9:27PM 

 101  05/08/2006 

 102  2006.05.08 

 103  08/05/2006 

 104  08.05.2006 

 105  08-05-2006 

 106  08 05 2006 

 107  05 08, 2006 

 108  21:30:51 

 109  05  8 2006  9:31:11 

 110  05-08-2006 

 111  2006/05/08 

 112  20060508 

 113  08 05 2006 21:31:59 

 114  21:33:06:503 

 120  2006-05-08 21:33:38 

 

*/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(SQL Server)