uva 11054 Wine trading in Gergovia

类型 取值范围
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
getutcdate UTC值
isdate
select isdate(stor_id), isdate(date) from sales

---- ---- 
0    1 
日期快捷取值函数 功能描述
year year(date_expression)等价于datepart(yy, date_expression).
month month(date_expression)等价于datepart(mm, date_expression).
day day(date_expression)等价于datepart(dd,date_expression)
条件函数 功能描述
isnull isnull(expression1, expression2),表达式expression1为NULL时使用expression2,相当于Oracle中的NVL
coalesce coalesce(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

uva 11054 Wine trading in Gergovia,布布扣,bubuko.com

uva 11054 Wine trading in Gergovia

上一篇:PowerShell 批量导入AD域用户


下一篇:Hadoop学习记录(3)|HDFS API 操作|RPC调用