一、时间函数
在使用存储过程,sql函数的时候,会遇到一些对时间的处理。比如时间的获取与加减。这里就用到了sql自带的时间函数。下面我列出这些函数,方便日后记忆,使用。
-- getdate 获取当前时间 select getdate () -- dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月 select dateadd ( MONTH , 12 , ' 2013-02-17 13:20:16 ' ) -- 返回:2014-02-17 13:20:16.000 (参数month可以改为 day,year等日期加相应的值) -- datediff 两个时间的差 (后面-前面=返回值) select datediff ( day , ' 2013-02-01 ' , ' 2013-02-18 ' ) -- 返回:17 (参数day可以改为 month,year等日期加相应的值) -- datepart 获取日期的某个部分整数 select DATEPART ( month , ' 2013-2-17 ' ) -- 返回 2 (参数month可以改为 day,year等日期加相应的值) -- datename 获取指定部位的字符串 select datename (weekday, ' 2013-2-17 ' ) -- 返回 星期日 (参数weekday可以改为 day,year等日期加相应的值) -- day(), month(),year() 获取指定部位的字符串 select day ( ' 2013-2-15 ' ) -- 返回15
二、时间格式转换
select CONVERT ( varchar , getdate (), 120 ) -- 返回 2013-02-17 13:37:54 select replace ( replace ( replace ( CONVERT ( varchar , getdate (), 120 ), ' - ' , '' ), ' ' , '' ), ' : ' , '' ) -- 返回 20130217133828 select CONVERT ( varchar ( 12 ) , getdate (), 111 ) -- 返回 2013/02/17 select CONVERT ( varchar ( 12 ) , getdate (), 112 ) -- 返回 20130217 select CONVERT ( varchar ( 12 ) , getdate (), 102 ) -- 返回 2013.02.17 select CONVERT ( varchar ( 12 ) , getdate (), 101 ) -- 返回 02/17/2013 select CONVERT ( varchar ( 12 ) , getdate (), 103 ) -- 返回 17/02/2013 select CONVERT ( varchar ( 12 ) , getdate (), 104 ) -- 返回 17.02.2013 select CONVERT ( varchar ( 12 ) , getdate (), 105 ) -- 返回 17-02-2013 select CONVERT ( varchar ( 12 ) , getdate (), 106 ) -- 返回 17 02 2013 select CONVERT ( varchar ( 12 ) , getdate (), 107 ) -- 返回 02 17, 2013 select CONVERT ( varchar ( 12 ) , getdate (), 108 ) -- 返回 13:42:50 select CONVERT ( varchar ( 12 ) , getdate (), 109 ) -- 返回 02 17 2013 select CONVERT ( varchar ( 12 ) , getdate (), 110 ) -- 返回 02-17-2013 select CONVERT ( varchar ( 12 ) , getdate (), 113 ) -- 返回 17 02 2013 1 select CONVERT ( varchar ( 12 ) , getdate (), 114 ) -- 返回 13:42:24:743
三、时间格式相关表格
函数 | 参数/功能 |
GetDate( ) | 返回系统目前的日期与时间 |
DateDiff (interval,date1,date2) | 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 |
DateAdd (interval,number,date) | 以interval指定的方式,加上number之后的日期 |
DatePart (interval,date) | 返回日期date中,interval指定部分所对应的整数值 |
DateName (interval,date) |
返回日期date中,interval指定部分所对应的字符串名称
|
值 | 缩 写(Sql Server) | Access 和 ASP | 说明 |
Year | Yy | yyyy | 年 1753 ~ 9999 |
Quarter | q | 季 1 ~ 4 | |
Month | Mm | m | 月1 ~ 12 |
Day of year | Dy | y | 一年的日数,一年中的第几日 1-366 |
Day | Dd | d | 日,1-31 |
Weekday | Dw | w | 一周的日数,一周中的第几日 1-7 |
Week | Wk | ww | 周,一年中的第几周 0 ~ 51 |
Hour | Hh | h | 时0 ~ 23 |
Minute | Mi | n | 分钟0 ~ 59 |
Second | Ss | s | 秒 0 ~ 59 |
Millisecond | Ms | - | 毫秒 0 ~ 999 |