> 数据库 > SQL Server 2005 >

sqlserver 时间格式函数详细

一、时间函数


 在使用存储过程,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 Qq 季 1 ~ 4
Month Mm 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh 时0 ~ 23
Minute Mi 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999



(责任编辑:IT)