欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sybase日期函数

程序员文章站 2023-12-29 09:40:34
...
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

上一篇:

下一篇: