2016.3.28
(1) getdate():获取当前时间。
Dateadd(datepart , number, date ): 在向指定日期加上一段时间的基础上,返回新的 datetime 值。
select DateAdd(MM,2,'2008-8-8') --------------返回:2008-10-08 00:00:00.000
select DateAdd(dd,2,'2008-8-8') --------------返回:2008-08-10 00:00:00.000
select dateadd(hh,-1,getdate()) --------------返回:2009-02-23 12:46:46.450,返回前一个小时的时间
(2)日期转换:
Varchar(n)可以改变取日期字段的长度,可以只截取到年或月
selectCONVERT(varchar(20),GETDATE(),112)-------20160328
selectCONVERT(varchar(20),GETDATE(),111)-------2016/03/28
selectCONVERT(varchar(50),GETDATE(),120)-------2016-03-28 19:27:29
注:120模式可以显示时刻,112,111不可以。
注:select convert(varchar(7),'2016-05-01',111)不能改变其2015-05-01的格式变成2015/05/01
但是如果中间的时间经过dateadd的九三就可以改变,因为直接的识别为字符串形式,而非日期格式
(3)row_number() over(partition by 变量X):partition by类似group by的作用,按X分组,并按组进行编号。