一、日期/时间函数
1.当前系统日期、时间
select GETDATE() → 2012-02-24 19:08:40.573
2.DATEADD 在给定时间上增加一段时间,返回datetime
select DATEADD(DAY, 1, GETDATE()) → 2012-02-25 19:10:15.817
3.DATEDIFF 返回两个日期的日期的事件差。
select DATEDIFF(DAY,'2012-02-14',GETDATE()) → 10
4.DATEPART 返回给定日期的指定日期部分的整数表示。
select DATEPART(MONTH, GETDATE()) → 2
5.DATENAME 返回给定日期的指定日期部分字符串表示。
select DATENAME(MONTH, GETDATE()) → 02
6.YEAR(),MONTH(),DAY(),等同于DATEPART
select MONTH(GETDATE()) → 2
7.时间缩写
缩写 | 含义 | 值范围 |
YEAR、YY、YYYY | 年 | |
QUARTER、QQ、Q | 季度 | 1~4 |
MONTH、MM、M | 月 | 1~12 |
DAYOFYEAR、DY、Y | 天,一年中的第几天 | 1~366 |
DAY、DD、D | 日 | 1~31 |
WEEKDAY、DW、W | 星期几 | 星期一~星期日 |
WEEK、WK、WW | 周,一年中的第几周 | 1~53 |
HOUR、 HH、 H | 时 | 0~59 |
MINUTE、MI、N | 分 | 0~59 |
SECOND、SS、S | 秒 | 0~59 |
MILLISECOND、MS | 毫秒 | 0~999 |
NANOSECOND、NS | 纳秒 |
以下缩写含义可以参照MSDN的联机文档
http://msdn.microsoft.com/zh-cn/library/ms186724.aspx
ISO_WEEK、ISOWK、ISOWW
MCS、MICROSECOND
TZ、TZOFFSET
二、日期时间转换为字符串后的结果格式。
select CONVERT(varchar(100), GETDATE(), 0) → 02 24 2012 6:46PM select CONVERT(varchar(100), GETDATE(), 1) → 02/24/12 select CONVERT(varchar(100), GETDATE(), 2) → 12.02.24 select CONVERT(varchar(100), GETDATE(), 3) → 24/02/12 select CONVERT(varchar(100), GETDATE(), 4) → 24.02.12 select CONVERT(varchar(100), GETDATE(), 5) → 24-02-12 select CONVERT(varchar(100), GETDATE(), 6) → 24 02 12 select CONVERT(varchar(100), GETDATE(), 7) → 02 24,12 select CONVERT(varchar(100), GETDATE(), 8) → 18:49:43 select CONVERT(varchar(100), GETDATE(), 9) → 02 24 2012 6:50:15:309PM select CONVERT(varchar(100), GETDATE(), 10) → 02-24-12 select CONVERT(varchar(100), GETDATE(), 11) → 12/02/24 select CONVERT(varchar(100), GETDATE(), 12) → 120224 select CONVERT(varchar(100), GETDATE(), 13) → 24 02 2012 18:52:25:223 select CONVERT(varchar(100), GETDATE(), 14) → 18:53:08:357 select CONVERT(varchar(100), GETDATE(), 20) → 2012-02-24 18:53:38 select CONVERT(varchar(100), GETDATE(), 21) → 2012-02-24 18:54:32.087 select CONVERT(varchar(100), GETDATE(), 22) → 02/24/12 6:56:41 PM select CONVERT(varchar(100), GETDATE(), 23) → 2012-02-24 select CONVERT(varchar(100), GETDATE(), 24) → 18:54:52 select CONVERT(varchar(100), GETDATE(), 25) → 2012-02-24 18:57:13.530 select CONVERT(varchar(100), GETDATE(), 100) → 02 24 2012 6:58PM select CONVERT(varchar(100), GETDATE(), 101) → 02/24/2012 select CONVERT(varchar(100), GETDATE(), 102) → 2012.02.24 select CONVERT(varchar(100), GETDATE(), 103) → 24/02/2012 select CONVERT(varchar(100), GETDATE(), 104) → 24.02.2012 select CONVERT(varchar(100), GETDATE(), 105) → 24-02-2012 select CONVERT(varchar(100), GETDATE(), 106) → 24 02 2012 select CONVERT(varchar(100), GETDATE(), 107) → 02 24,2012 select CONVERT(varchar(100), GETDATE(), 108) → 19:01:35 select CONVERT(varchar(100), GETDATE(), 109) → 02 24 2012 7:01:58:820PM select CONVERT(varchar(100), GETDATE(), 110) → 02-24-2012 select CONVERT(varchar(100), GETDATE(), 111) → 2012/02/24 select CONVERT(varchar(100), GETDATE(), 112) → 20120224 select CONVERT(varchar(100), GETDATE(), 113) → 24 02 2012 19:03:41:357 select CONVERT(varchar(100), GETDATE(), 114) → 19:04:08:013 select CONVERT(varchar(100), GETDATE(), 120) → 2012-02-24 19:05:02 select CONVERT(varchar(100), GETDATE(), 121) → 2012-02-24 19:05:18.747 select CONVERT(varchar(100), GETDATE(), 126) → 2012-02-24T19:05:39.697 select CONVERT(varchar(100), GETDATE(), 130) → 2 ???? ?????? 1433 7:06:19:560PM