SQL Server日期相关小结
一、日期/时间函数
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~4MONTH、MM、M月1~12DAYOFYEAR、DY、Y天,一年中的第几天1~366DAY、DD、D日1~31WEEKDAY、DW、W星期几星期一~星期日WEEK、WK、WW周,一年中的第几周1~53HOUR、 HH、 H时0~59MINUTE、MI、N分0~59SECOND、SS、S秒0~59MILLISECOND、MS毫秒0~999NANOSECOND、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
?