【转】SQL时间函数

1. 当前系统日期、时间  select getdate()    

   select 当前日期=convert(varchar(10),getdate(),120)  

   当前时间=convert(varchar(8),getdate(),114)    

2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值  

    例如:向日期加上2天   select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 
    例如:查询目前时间最近三天的内容降序排列 select * from table where time between

            dateadd(day,-3,getdate()) and getdate()  order by c_Id desc
3. datediff 返回跨两个指定日期的日期和时间边界数。  

    select datediff(day,'2004-09-01','2004-09-18') --返回:17  

4. datepart 返回代表指定日期的指定日期部分的整数。  

   SELECT DATEPART(month, '2004-10-15') --返回 10  

5. datename 返回代表指定日期的指定日期部分的字符串  

SELECT datename(weekday, '2004-10-15') --返回:星期五       

select datename(dw,'2004-10-15')     

select 本年第多少周=datename(week,'2004-10-15')  

,今天是周几=datename(weekday,'2004-10-15')  

6. day(), month(),year() --可以与datepart对照一下

 

7. 函数 参数/功能 

  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指定部分所对应的字符串名称  

  

 

参数 interval的设定值如下:     

值 缩 写(Sql Server) Access 和 ASP 说明   

Year Yy yyyy 年 1753 ~ 9999   

Quarter Qq 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   

 

 

posted @ 2009-11-11 13:46  wzh0717  阅读(256)  评论(0编辑  收藏  举报