在统计报表的需求中,经常要用到上月、上星期等时间段,统计条件虽然都是一样的,但是每次时间都在变化,为此,研究了下时间函数在数据库中的应用。
getdate()
select getdate() 查看当前时间
select '当前时间为' + convert(carchar,getdate(),112) 时间存储为datetime等时间格式,和字符串联合,因此需要将时间格式转换成字符格式。
datediff('day','时间1','时间2') sqlserver用day等,加引号
datediff(dd,'时间1','时间2') sybase用dd等,不加引号,其他数据库还没有试过。
这个函数做时间比较很有用处,如:
select A,B,C from TABLE1 where datediff('day',A,getdate()) =1
A为时间格式,当前时间减去A时间,等于1就是昨天。
此外,还可以月,年,周等应用。