程序员人生 网站导航

sybase日期函数

栏目:sybase时间:2014-05-26 03:00:32

sybase日期函数

 

1 获取当前日期时间 getdate() 

select getdate() 

   

2 取指定时间的某一部分 datepart(日期部分,日期) 

--取时间的某一个部分 

select datepart(yy,getdate()) --year 

select datepart(mm,getdate()) --month 

select datepart(dd,getdate()) --day 

select datepart(hh,getdate()) --hour 

select datepart(mi,getdate()) --min 

select datepart(ss,getdate()) --sec 

--取星期几 

set datefirst 1  

select datepart(weekday,getdate()) --weekday 

 

3 日期2-日期1,单位为日期部分指定 datediff(日期部分,日期1,日期2) 

SELECT datediff(yy,'2012/12/01',getdate()) 

SELECT datediff(mm,'2012/12/01',getdate()) 

SELECT datediff(dd,'2012/12/01',getdate()) 

SELECT datediff(hh,'2012/12/01',getdate()) 

SELECT datediff(mi,'2012/12/01',getdate()) 

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

 

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐