Sybase日期函数应用

栏目:Sybase 来源:网络 关注:0 时间:2019-08-16

Sybase日期函数是我们经常会使用的函数,下面为您介绍的几个Sybase日期函数应用例子都是我们常用的功能。

Sybase日期函数
getdate():得到当前时间,可以设置得到各种时间格式
datepart(日期部分,日期):取指定时间的某一个部分,年月天时分秒
datediff(日期部分,日期1,日期2):计算指定的日期1和日期2的时间差多少
dateadd(日期部分,数值表达式,日期):计算指定时间,再加上表达式指定的时间长度

取时间的某一个部分
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 
 
字符串时间
select getdate()  '03/11/12' 
select convert(char,getdate(),101)  '09/27/2003' 
select convert(char,getdate(),102)  '2003.11.12' 
select convert(char,getdate(),103)  '27/09/2003' 
select convert(char,getdate(),104)  '27.09.2003' 
select convert(char,getdate(),105)  '27-09-2003' 
select convert(char,getdate(),106)  '27 Sep 2003' 
select convert(char,getdate(),107) 'Sep 27, 2003' 
select convert(char,getdate(),108) '11:16:06' 
select convert(char,getdate(),109) 'Sep 27 2003 11:16:28:746AM' 
select convert(char,getdate(),110) '09-27-2003' 
select convert(char,getdate(),111) '2003/09/27' 
select convert(char,getdate(),112) '20030927' 
select rtrim(convert(char,getdate(),102))+' '+(convert(char,getdate(),108))  '2003.11.12 11:03:41' 
 
整数时间
select convert(int,convert(char(10),getdate(),112))  20031112 
select datepart(hh,getdate())*10000 + datepart(mi,getdate())*100 + datepart(ss,getdate())  110646 
 
时间格式 "YYYY.MM.DD HH:MI:SS" 转换为 "YYYYMMDDHHMISS"
declare @a datetime,@tmp varchar(20),@tmp1 varchar(20) 
select @a=convert(datetime,'2004.08.03 12:12:12') 
select @tmp=convert(char(10),@a,112) 
select @tmp 
select @tmp1=convert(char(10),datepart(hh,@a)*10000 + datepart(mi,@a)*100 + datepart(ss,@a)) 
select @tmp1 
select @tmp=@tmp+@tmp1 
select @tmp 
 
当月最后一天
declare 
@tmpstr varchar(10) 
@mm int, 
@premm int, 
@curmmlastday varchar(10) 
begin 
select @mm=datepart(month,getdate())当月 
select @premm=datepart(month,dateadd(month,-1,getdate())) 上个月 
if (@mm>=1 and @mm<=8) 
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01' 
else if (@mm>=9 and @mm<=11) 
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.'+convert(char(2),datepart(month,dateadd(month,1,getdate())))+'.'+'01' 
else 
select @tmpstr=convert(char(4),datepart(year,dateadd(year,1,getdate())))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01' 
select @curmmlastday=convert(char(10),dateadd(day,-1,@tmpstr),102)

本文标题:Sybase日期函数应用
本文地址:http://www.q0738.com/sybase/1319.html