Sybase数据SQL查询

Sybase查询:

查询某天是星期几

set datefirst 1
select  datepart(weekday,TB_STARTTIME) 星期几  from CC_TELEBILL

 

查询时间的方法

           获得具体时间:        TB_STARTTIME between '2010-12-27 20:00:05.000' and '2010-12-27 23:59:05.000'
           获得年份:            datepart(yy,TB_STARTTIME)=2011 
           获得月份:            substring (convert(char,TB_STARTTIME,112),1,6) = '201101'
           获得日                convert(char,TB_STARTTIME,112) between '20110301' and '20110301'
           获取时段              substring(convert(char,TB_STARTTIME,108),1,2)=‘08’
获取长度

datalength(TB_BILLNO )

 

不等于

datalength( TB_BILLNO)<>8

模糊查询

TB_BILLNO like '[0186]%'

保留两位小数
round(avg(总费用),2)

 

日期函数处理:

日期函数
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 

猜你喜欢

转载自wang-z-p2007.iteye.com/blog/1335852