Sybase常见日期函数使用说明

类型取值范围
date

January 1, 1753 through December 31,9999

time

January 1, 1900 through June 6, 2079

smalldatetime

January 1, 0001 to December 31, 9999

datetime

12:00:00.000000AM to 11:59:59.999999PM

bigdatetime

January 1, 0001 to December 31, 9999

bigtime

12:00:00 AM to 11:59:59:990 PM

函数 
类型转换函数功能描述
cast类型强转
select cast("01/03/63" as datetime)
go

 --------------------------
        Jan  3 1963 12:00AM

(1 row affected)
convert类型强转,显示格式转换
convert (datatype [(length) | (precision[, scale])] 
	[null | not null], expression [, style])
日期函数功能描述
current_bigdatetime
select current_bigdatetime())
------------------------------
Nov 25 1995 10:32:00.010101AM
current_bigtime
select current_bigtime())
------------------------------
10:32:00.010101AM

select datepart(us, current_bigtime())
------------------------------
01010
current_date
1> select datename(month, current_date())
2> go

------------------------------ 
August 


1> select datepart(month, current_date())
2> go

----------- 
8 
current_time
1> select current_time()
2> go

------------------------ 
            12:29PM


1> select datename(minute, current_time())
2> go

------------------------------ 
45

(1 row affected)
dateadd
dateadd(date_part, integer, {date | time | bigtime | datetime, | bigdatetime})

declare @a date
select @a = "apr 12, 9999"
select dateadd(dd, 1, @a)
--------------------------
Apr 13 9999



select dateadd(mi, -5, convert(time, "14:20:00"))
--------------------------
2:15PM



declare @a datetime
select @a = "apr 12, 2013 14:20:00 "
select dateadd(hh, 25, @a)
-------------------------- 
Apr 13 2013 3:20PM 


datediff
datediff(datepart, {date, date | time, time | bigtime, bigtime | datetime, datetime | bigdatetime, bigdatetime}])

declare @a date
declare @b date
select @a = "apr 1, 1999"
select @b = "apr 2, 1999"
select datediff(hh, @a, @b)
-----------
     24
datename
datename(datepart {date | time | bigtime | datetime | bigdatetime})

declare @a bigdatetime
select @a = "apr 12, 0001 00:00:00.010101"
select datename(mm, @a)
------------------------------
April
datepart
datepart(date_part {date | time | datetime | bigtime | bigdatetime}))

select datepart(year, pubdate) from titles 
    where type = "trad_cook"

 -----------
        1990 
        1985 
        1987 

declare @a time
select @a = "20:43:22"
select datepart(hh, @a)
-----------
    20
getdate
select getdate()

Nov 25 1995 10:32AM
getutcdateUTC值
isdate
select isdate(stor_id), isdate(date) from sales

---- ---- 
0    1 
日期快捷取值函数功能描述
yearyear(date_expression)等价于datepart(yy, date_expression).
monthmonth(date_expression)等价于datepart(mm, date_expression).
dayday(date_expression)等价于datepart(dd,date_expression)
条件函数功能描述
isnullisnull(expression1, expression2),表达式expression1为NULL时使用expression2,相当于Oracle中的NVL
coalescecoalesce(expression, expression [, expression]...),返回第一个值不为NULL的表达式,如果所有表达式都为NULL,结果返回NULL
case
select stor_id, discount,
        case
            when lowqty is not NULL then lowqty
            else highqty
        end
from discounts
nullif
select title,
    nullif(type, "UNDECIDED")
from titles
等价于
select title, 
    case
        when type = "UNDECIDED" then NULL
        else type
    end
from titles

参考文档:

类型参考:http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc36271.1570/html/blocks/X58954.htm

函数参考:http://infocenter.sybase.com/help/topic/com.sybase.infocenter.dc36271.1570/html/blocks/CHDIHGDF.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值