MSSQL 日期函数

1day(date_expression)
返回date_expression中的日期值

select DAY(getdate())

2month(date_expression)
返回date_expression中的月份值
3year(date_expression)

4DATEADD (datepart , number , date )

datepart

是与 integer number 相加的 date 部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。

datepart                  缩写 

year                      yy, yyyy

quarter                    qq, q

 month                     mm, m

 dayofyear               dy, y

 day                          dd, d

 week                        wk, ww

 weekday                 dw, w

 hour                          hh

 minute                    mi, n

 second                    ss, s

 millisecond             ms

 microsecond           mcs

 nanosecond           ns

 

number

是一个表达式,可以解析为与 datedatepart 相加的 int。用户定义的变量是有效的。

如果您指定一个带小数的值,则将小数截去且不进行舍入。

date

是一个表达式,可以解析为 timedatesmalldatetimedatetimedatetime2datetimeoffset 值。date 可以是表达式、列表达式、用户定义的变量或字符串文字。如果表达式是字符串文字,则它必须解析为一个 datetime 值。

例:

SELECT DATEADD(month, 1, '2006-08-31')

结果:2006-09-30 00:00:00.000

select DATEADD(ss,2,GETDATE())

 

DECLARE @datetime2 datetime2;

SET @datetime2 = '2007-01-01 01:01:01.1111111';

--Statement                                 Result  

-------------------------------------------------------------------

SELECT DATEADD(quarter,4,@datetime2);   --2008-01-01 01:01:01.110(季度)

SELECT DATEADD(month,13,@datetime2);      --2008-02-01 01:01:01.110

SELECT DATEADD(dayofyear,365,@datetime2); --2008-01-01 01:01:01.110

SELECT DATEADD(day,365,@datetime2);       --2008-01-01 01:01:01.110

SELECT DATEADD(week,5,@datetime2);        --2007-02-05 01:01:01.110

SELECT DATEADD(weekday,31,@datetime2);    --2007-02-01 01:01:01.110

SELECT DATEADD(hour,23,@datetime2);       --2007-01-02 00:01:01.110

SELECT DATEADD(minute,59,@datetime2);     --2007-01-01 02:00:01.110

SELECT DATEADD(second,59,@datetime2);     --2007-01-01 01:02:00.110

SELECT DATEADD(millisecond,1,@datetime2); --2007-01-01 01:01:01.110

 

5、DATEDIFF()
DATEDIFF (<datepart>, <date1>, <date2>)
返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。

例:

DECLARE @startdate datetime2 = '2007-05-05 12:10:09.3312722';

DECLARE @enddate datetime2 = '2007-05-04 12:10:09.3312722';

SELECT DATEDIFF(day, @startdate, @enddate);

结果:-1

 

6、DATENAME()
DATENAME (<datepart>, <date>)
以字符串的形式返回日期的指定部分此部分。由datepart 来指定。
7、DATEPART()
DATEPART (<datepart>, <date>)
以整数值的形式返回日期的指定部分。此部分由datepart 来指定。
DATEPART (dd, date) 等同于DAY (date)
DATEPART (mm, date) 等同于MONTH (date)
DATEPART (yy, date) 等同于YEAR (date)
8、GETDATE()
以DATETIME 的缺省格式返回系统当前的日期和时间。

posted @ 2012-12-13 20:17  小站记忆  阅读(523)  评论(0编辑  收藏  举报