sybase日期函数

阅读更多
1 获取当前日期时间 getdate()
select getdate() --2013-1-30 11:34:58.133

2 取指定时间的某一部分 datepart(日期部分,日期)
--取时间的某一个部分
select datepart(yy,getdate()) --year  2013
select datepart(mm,getdate()) --month 1
select datepart(dd,getdate()) --day   30
select datepart(hh,getdate()) --hour  11
select datepart(mi,getdate()) --min   35
select datepart(ss,getdate()) --sec   58
--取星期几
set datefirst 1 
select datepart(weekday,getdate()) --weekday   4


3 日期2-日期1,单位为日期部分指定 datediff(日期部分,日期1,日期2)
SELECT datediff(yy,'2012/12/01',getdate()) --1
SELECT datediff(mm,'2012/12/01',getdate()) --1
SELECT datediff(dd,'2012/12/01',getdate()) --60
SELECT datediff(hh,'2012/12/01',getdate()) --1451
SELECT datediff(mi,'2012/12/01',getdate()) --87097
SELECT datediff(ss,'2012/12/01',getdate())

4 计算指定时间,再加上表达式指定的时间长度 dateadd(日期部分,数值,日期)
SELECT dateadd(yy,1,getdate())
SELECT dateadd(mm,1,getdate())
SELECT dateadd(dd,1,getdate())
SELECT dateadd(hh,1,getdate())
SELECT dateadd(mi,1,getdate())
SELECT dateadd(ss,1,getdate())

5 字符串时间
select getdate() -- '2012/12/4 10:48:07.540'
select convert(char,getdate(),101) -- '12/04/2012'
select convert(char,getdate(),102) -- '2012.12.04'
select convert(char,getdate(),103) -- '04/12/2012'
select convert(char,getdate(),104) -- '04.12.2012'
select convert(char,getdate(),105) -- '04-12-2012
select convert(char,getdate(),106) -- '04 Dec 2012'
select convert(char,getdate(),107) --'Dec 04, 2012'
select convert(char,getdate(),108) --'11:16:06'
select convert(char,getdate(),109) --'Dec  4 2012 10:50:28:146AM'
select convert(char,getdate(),110) --'12-04-2012'
select convert(char,getdate(),111) --'2012/12/04'
select convert(char,getdate(),112) --'20121204'

6 以时间为维度的趋势查询
--查询一个月内的每一天
select convert(varchar(10),
               dateadd(dd,
                       number + 1,
                       convert(char(10), dateadd(mm, -1, getdate()), 111)),
               111) dt
  from master .. spt_values
where type = 'p'
   and number < 31
--查询一年内的每一月
select convert(varchar(7),
               dateadd(mm,
                       number + 1,
                       convert(char(10), dateadd(yy, -1, getdate()), 111)),
               111) dt
  from master .. spt_values
where type = 'p'
   and number < 12
  
7 空处理函数
isnull(val1,val2)   val1为空,值为val2

你可能感兴趣的:(sybase日期函数)