sybase日期函數 1 獲取當前日期時間 getdate() select getdate() www.2cto.com 2 取指定時間的某一部分 datepart(日期部分,日期) --取時間的某一個部分 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 3 日期2-日期1,單位為日期部分指定 datediff(日期部分,日期1,日期2) SELECT datediff(yy,'2012/12/01',getdate()) SELECT datediff(mm,'2012/12/01',getdate()) SELECT datediff(dd,'2012/12/01',getdate()) SELECT datediff(hh,'2012/12/01',getdate()) SELECT datediff(mi,'2012/12/01',getdate()) 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' www.2cto.com 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