sql中的时间函数非常有用,特别是在我们进行初始赋值、复杂查询的时候,就显得特别方便。
1、获得系统当前时间
select getdate()
2、datename ( datepart , date )返回表示指定日期的指定日期部分的字符串。
--今天是2009-2-24--星期二
select datename(year, getdate()) as 'year name' --------返回:2009
select datename(month, getdate()) as 'month name' --------返回:02
select datename(weekday, getdate()) as 'weekday name'------返回:星期二
3、dateadd (datepart , number, date ),在向指定日期加上一段时间的基础上,返回新的 datetime 值。
select dateadd(mm,2,'2008-8-8') --------------返回:2008-10-08 00:00:00.000
select dateadd(dd,2,'2008-8-8') --------------返回:2008-08-10 00:00:00.000
select dateadd(hh,-1,getdate()) --------------返回:2009-02-23 12:46:46.450,返回前一个小时的时间
4、datediff ( date-part, date-expression-1, date-expression-2 ) 返回两个日期之间的间隔。
此函数计算两个指定日期之间日期部分的数目。结果为日期部分中等于(date2 - date1)的有符号的整数值。
select datediff( hour, '4:00am', '5:50am' )---------------------------返回: 1
select datediff( month, '1987/05/02', '1995/11/15' )------------------返回: 102
select datediff( day, '00:00', '23:59' )------------------------------返回:0
select datediff( day, '1999/07/19 00:00', '1999/07/23 23:59' )------返回:4
select datediff( month, '1999/07/19', '1999/07/23' )------------------返回:0
select datediff( month, '1999/07/19', '1999/08/23' )------------------返回:1
实例:查询当天更新的数据
select * from tablename where datediff(dd,f_edittime,getdate())=0
5、datepart( datepart ,date )返回代表指定日期的指定日期部分的整数。
--今天是2009-2-24 星期二
select datepart(year,getdate()) as 'year' --------返回:2009
select datepart(month,getdate()) as 'month' ---------返回:2
select datepart(weekday,getdate()) as 'weekday' ---------返回:3,如:sunday = 1、saturday = 7
select day(getdate()) -----------------------返回:24
备注:day、month、和 year 函数分别是 datepart(dd, date)、datepart(mm,date)、和 datepart(yy, date) 的同义词。
附录:datepart
日期部分缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
hour hh
minute mi, n
second ss, s
millisecond ms
