程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
搜索
設為首頁
加入收藏
首頁
編程語言
C語言
|
JAVA編程
Python編程
網頁編程
ASP編程
|
PHP編程
JSP編程
數據庫知識
MYSQL數據庫
|
SqlServer數據庫
Oracle數據庫
|
DB2數據庫
程式師世界
>>
數據庫知識
>>
SyBase數據庫
>>
SyBase綜合文章
>> SYBASE時間計算
SYBASE時間計算
編輯:SyBase綜合文章
一下摘錄了計算月初,月末,上月同日,下月同日,上年同日,下年同日(年有閏月問題),各種函數輸出格式。可以寫到存儲過程中也可單獨使用。
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 --取星期幾
//該計算出的結果要+1,因其計算出的星期天為一周的第1天,星期六自然就成為一周第7天 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) --當月最後一天
end ----------------------------------------------------------
格式為:DateAdd(interval, number, date)
interval:間隔時間(如時、分、秒、天、周、月、季、年)
number:間隔數(正數為向後+N,負數為向前-N)
date:當前日期或指定日期查詢當前日期起,以時、分、秒、天、周、月、季、年為間隔的日期
時:select convert(char(8),dateadd(hour,1,getdate()),112)
分:select convert(char(8),dateadd(minute,1,getdate()),112)
秒:select convert(char(8),dateadd(second,1,getdate()),112)
天:select convert(char(8),dateadd(day,1,getdate()),112)
周:select convert(char(8),dateadd(week,1,getdate()),112)
月:select convert(char(8),dateadd(month,1,getdate()),112)
季:select convert(char(8),dateadd(quarter,1,getdate()),112)
年:select convert(char(8),dateadd(year,1,getdate()),112) select dateadd(year, 1, '31-Jan-96')
select dateadd( month, 1, '1987/05/02' )
select datediff(day,'2008-10-1','2008-10-31') 上月第一天:
select dateadd(mm,-1,convert(char(8),(datepart(yy,getdate())*10000+datepart(mm,getdate())*100+01))) select dateadd(dd,-1,convert(char(8),(datepart(yy,getdate())*10000+datepart(mm,getdate())*100+01))) 上年最後一天:
select convert(char(8), dateadd(dd, -1, convert(char(8), datepart(yy, '20100223')*10000+1*100+01, 112)), 112) select convert(char(8),dateadd(yy,-1,convert(char(8),@report_date,112)),112)
上一頁:
詳談Sybase數據庫清除日志的做法
下一頁:
Sybase的客戶端工具
SyBase綜合文章
SYBASE dbccdb的安裝配置攻略
dbcc checkstorage 檢查數據庫的一致性。在
MobiLink開發資源集之MobiLink腳本綜述
步驟清單: 在上一議題中,我們演示了一個最簡單
Sybase數據庫技術(28)
Sybase數據庫技術(67)
(圖文) (圖文) (圖文) (圖文) (圖文)
Sybase數據庫技術(61)
(圖文) (圖文) (圖文) (圖文) (圖文)
Sybase數據庫技術(21)
相關文章
Oracle在Mybatis中SQL語句的配置方法
MySQL Flashback 閃回功能詳解,mysqlflashback
Mybatis查詢延遲加載詳解及實例
mybatis 項目配置文件實例詳解
mybatis映射XML文件詳解及實例
詳解redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作
iBATIS和Hibernate區別
iBATIS調試
iBATIS動態SQL
iBATIS存儲過程
閱讀排行榜
SYBASE的管理簡單教程 (一)
SQL Server配置內存過大、Server不能啟動時怎麼辦?
Sybase數據庫技術(20)
在Power Builder4.0的數據窗口中OLE的實現方法
教你學會怎樣升級到SQL Anywhere 10(1)
SAP、SYBASE被評企業級數據倉庫平台領導者
Sybase到Oracle連接服務器的具體實現
Sybase PocketBuilder: True RAD Technology
Sybase數據庫引擎運行方法簡介
Sybase從Windows到Linux的遷移指南
sybase數據庫死鎖DEADLOCK的處理
熱門圖文
ubuntu下設置mysql自動備份的例子
如何在SQL Server中保存和輸出圖片
orale數據庫如何利用sql語句創建視圖的一般性使用方法
Oracle數據庫進程之服務器進程詳解
Oracle性能優化:數據庫配置和IO問題
SQL Server不存在或訪問被拒絕問題的解決第1/3頁
MySQL之表結構修改
分析SQL語句性能3種方法分享
欄目導航
SyBase綜合文章
SyBase教程
Copyright ©
程式師世界
All Rights Reserved