Sql Server中的日期与时间函数
?蒰(寝 ?
函数名 | 说明 | 用例 |
getdate | 当前系统日期、时间 | select getdate() |
dateadd | 在向指定日期加上一段时间的基础上,返回新的 datetime 值 | 向日期加上2天 ?5皴? 煃 --返回:2004-10-17 00:00:00.000 |
datediff | 返回跨两个指定日期的日期和时间边界数 | select datediff(day,'2004-09-01','2004-09-18') --返回:17 |
datepart | 返回代表指定日期的指定日期部分的整数 | SELECT DATEPART(month, '2004-10-15') --返回 10 Rk銍倝K$7$ |
datename | 返回代表指定日期的指定日期部分的字符串 | SELECT datename(weekday, '2004-10-15') --返回:星期五
select datename(dw,'2004-10-15') ?3慯萳籋? |
day(),month(),year() | 可以与datepart对照一下 | |
返回当前日期 | convert(varchar(10),getdate(),120) | |
返回当前时间 | convert(varchar(8),getdate(),114) |
F桗?赝Q?
鈙H 倂建
鶞Oh牧\"葵
Ew郬*矝?
欤晛u!: ?
奄<8姓婨? 函数 参数/功能 y? 蓦??
GetDate( ) 返回系统目前的日期与时间 '瞫濾#縶?
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 鸊脺 儔砍?
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期 " 鐺e蠅5流
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值 鑒/蟉错渥
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称 杶逯 夤脅c
呓h :l =?
参数 interval的设定值如下: 掅 YW @鲫=
8?濠 ? 值 缩 写(Sql Server) (Access 和 ASP) 说明 蔟 T)軤
Year Yy yyyy 年 1753 ~ 9999 A玍癣0qg
Quarter Qq q 季 1 ~ 4 駨#伥沠?F;
Month Mm m 月1 ~ 12 O?c(a耀蒪
Day of year Dy y 一年的日数,一年中的第几日 1-366 Y 觲挰 褽
Day Dd d 日,1-31 粤茎綪嶴诳
Weekday Dw w 一周的日数,一周中的第几日 1-7 襪齀 & ?
Week Wk ww 周,一年中的第几周 0 ~ 51 ?X葤7 膧
Hour Hh h 时0 ~ 23 F?F啇U暜?
Minute Mi n 分钟0 ~ 59 貞』~r笍o
Second Ss s 秒 0 ~ 59 ?6Y?";d
Millisecond Ms - 毫秒 0 ~ 999 AQ彩堐?E8
?闪潽麘缂
Ъ@p彰t3
access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似 畵?b'?
HLu 阏p缤
举例: /0R符?氦?
1.GetDate() 用于sql server :select GetDate() 邊象4 面?
X"g# $逹
2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒 O 侠 札⒚
DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天 倮KiC伅嬟
v 嶇嶽?觬
3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7) ?聕qV0?
DatePart('d','2005-7-25 22:56:32')返回值为 25即25号 y萱1雍破?
DatePart('y','2005-7-25 22:56:32')返回值为 206即这一年中第206天 髄? 驐?
DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年
附录
Convert datetime中用到的编码
Date and Time Styles
When expression is a date or time data type, style can be one of the values shown in the following table. Other values are processed as 0. SQL Server supports the date format in Arabic style by using the Kuwaiti algorithm.
<!-- -->
Without century (yy) (1 ) | With century (yyyy) | Standard | Input/Output (3 ) |
---|---|---|---|
- | 0 or 100 (1, 2 ) | Default | mon dd yyyy hh:miAM (or PM) |
1 | 101 | U.S. | mm/dd/yyyy |
2 | 102 | ANSI | yy.mm.dd |
3 | 103 | British/French | dd/mm/yyyy |
4 | 104 | German | dd.mm.yy |
5 | 105 | Italian | dd-mm-yy |
6 | 106 (1) | - | dd mon yy |
7 | 107 (1) | - | Mon dd, yy |
8 | 108 | - | hh:mi:ss |
- | 9 or 109 (1, 2 ) | Default + milliseconds | mon dd yyyy hh:mi:ss:mmmAM (or PM) |
10 | 110 | USA | mm-dd-yy |
11 | 111 | JAPAN | yy/mm/dd |
12 | 112 | ISO | yymmdd yyyymmdd |
- | 13 or 113 (1, 2 ) | Europe default + milliseconds | dd mon yyyy hh:mi:ss:mmm(24h) |
14 | 114 | - | hh:mi:ss:mmm(24h) |
- | 20 or 120 (2 ) | ODBC canonical | yyyy-mm-dd hh:mi:ss(24h) |
- | 21 or 121 (2 ) | ODBC canonical (with milliseconds) | yyyy-mm-dd hh:mi:ss.mmm(24h) |
- | 126 (4 ) | ISO8601 | yyyy-mm-ddThh:mi:ss.mmm (no spaces) |
- | 127 (6, 7 ) | ISO8601 with time zone Z. | yyyy-mm-ddThh:mi:ss.mmmZ (no spaces) |
- | 130 (1, 2 ) | Hijri (5 ) | dd mon yyyy hh:mi:ss:mmmAM |
- | 131 (2 ) | Hijri (5 ) | dd/mm/yy hh:mi:ss:mmmAM |