SQL日期時(shí)間函數(shù)總結(jié)(MSSQL)

時(shí)間類型實(shí)際上為浮點(diǎn)數(shù)Double類型,大小為8個(gè)字節(jié)(Byte)。
時(shí)間單位:1天=1,1小時(shí)=1/24,1分鐘=1/60/24,1秒=1/60/60/24

創(chuàng)新互聯(lián)專業(yè)提供雅安移動(dòng)機(jī)房服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購(gòu)買(mǎi)雅安移動(dòng)機(jī)房服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。

Sql Server中的日期與時(shí)間函數(shù):

select getdate() --當(dāng)前系統(tǒng)日期、時(shí)間
select GETUTCDATE()  --GetUTCDate 獲取UTC時(shí)間值
select year(getdate())    --獲取年度信息YEAR (year函數(shù)以int數(shù)據(jù)類型的格式返回特定日期的年度信息)
select month(getdate())  --獲取月份信息MONTH(month函數(shù)以int數(shù)據(jù)類型的格式返回特定日期的月份信息)
select day(getdate())     --獲取天數(shù)信息day(day函數(shù)以int數(shù)據(jù)類型的格式返回特定日期的天數(shù)信息)

datepart( datepart , 日期字段) --獲取任意時(shí)間部分DatePart(datepart函數(shù)以int數(shù)據(jù)類型的格式返回某個(gè)日期時(shí)間數(shù)據(jù)的指定部分)datepart:特定的要返回的數(shù)據(jù)的格式代碼
Datepart部分的取值如下所示:

返回年度信息 Year、YYYY、YY
返回月份信息 Month、MM、M
返回日期信息 Day、DD、D
返回周信息 Week、WK、WW
返回每周星期幾信息 WeekDay、DW
返回季度信息 Quarter、QQ、Q
返回一年中第幾天的信息 DayOfYear、DY、Y
返回小時(shí)信息 Hour、HH
返回分鐘信息 Minute、MI、N
返回秒信息 Second、SS、SS
返回毫秒信息 MillSecond、MS

select dateadd(day,2,'2010-10-15')  --,返回:2010-10-17 00:00:00.000(向日期加上2天)
select dateadd(day,-2,'2010-10-15')  --返回:2010-10-13 00:00:00.000(向日期減去2天)
select dateadd(month,-2,'2010-10-15')  --返回:2010-08-15 00:00:00.000(向日期減去2月)
select datediff(day,'2004-09-01','2004-09-18')   --datediff ,返回:17(返回跨兩個(gè)指定日期的日期和時(shí)間邊界數(shù))
select * from test where datediff(day,Rq,getdate()) = 0 --其中Rq為日期列,此行代碼的意思是什么呢?getdate()減去Rq列的值為0,Rq列的值與今天相減,號(hào)數(shù)為0  
 select DATEPART(month,getdate())  --返回 10(datepart 返回當(dāng)前日期的月份部分的整數(shù))
 select DATEPART(Day,getdate())      --返回 當(dāng)前日期的天數(shù)部分的整數(shù)
 select DATEPART(hour,getdate())           --返回 當(dāng)前日期的小時(shí)部分的整數(shù)
 select DATEPART(minute,getdate())       --返回 當(dāng)前日期的分鐘部分的整數(shù)
 select datename(weekday,getdate())  --返回:星期五(datename 返回代表指定日期的指定日期部分的字符串)
select datename(dw,getdate())      --當(dāng)前日期是星期幾
select datepart(Quarter,getdate()) --現(xiàn)在是第幾季度
select  本年第多少周=datename(week,getdate()) ,
            今天是周幾=datename(weekday,getdate())
select 當(dāng)前日期=convert(varchar(10),getdate(),120) ,當(dāng)前時(shí)間=convert(varchar(8),getdate(),114)(day(), month(),year() --可以與datepart對(duì)照一下)

SQLServer 2008中新增的日期時(shí)間型函數(shù):

SysDateTime 和 SysUTCDate 在秒小數(shù)部分精度上要比 GetDate 和 GetUTCDate 高。 SysDateTimeOffset 包含系統(tǒng)時(shí)區(qū)偏移量。 SysDateTime、SysUTCDate 和 SysDateTimeOffset 可分配給采用任意日期和時(shí)間類型的變量。

sysdatetime函數(shù)以datetime2(7)數(shù)據(jù)類型的格式返回當(dāng)前系統(tǒng)的日期和時(shí)間。其語(yǔ)法格式為sysdatetime()。返回值有七個(gè)小數(shù)位,但只精確到10毫秒。數(shù)據(jù)庫(kù)偏移量未包含在內(nèi)。
sysdatetimeoffset函數(shù)以datetimeoffset(7)數(shù)據(jù)類型的格式返回當(dāng)前系統(tǒng)的日期和時(shí)間。其語(yǔ)法格式為sysdatetimeoffset()。返回值有七個(gè)小數(shù)位,但只精確到10毫秒。數(shù)據(jù)庫(kù)時(shí)區(qū)偏移量包含在內(nèi)。

ISDATE(expression)  --判斷是否為日期數(shù)據(jù)isDate
SELECT SYSDATETIME()   --獲取系統(tǒng)時(shí)間 SysDateTime
SELECT sysdatetimeoffset()   --獲取當(dāng)前日期和時(shí)間 SysDateTimeOffset
select SysUTCDateTime()    --獲取系統(tǒng)UTC時(shí)間 SysUTCDateTime`
SELECT CURRENT_TIMESTAMP    --Current_TimeStamp當(dāng)前數(shù)據(jù)庫(kù)系統(tǒng)時(shí)間戳
SELECT SWITCHOFFSET (SysDateTimeOffset(), '+07:00')  --SWITCHOFFSET更改時(shí)間偏移量
SELECT TodateTimeOffset(GetDate(),'+07:00')    --TodateTimeOffset  datetime2轉(zhuǎn)datetimeoffset

統(tǒng)計(jì)語(yǔ)句
1、--統(tǒng)計(jì)當(dāng)前【>當(dāng)天00點(diǎn)以后的數(shù)據(jù)】
SELECT * FROM 表 WHERE CONVERT(Nvarchar, 日期字段, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY 日期字段 DESC

2、--統(tǒng)計(jì)本周
SELECT * FROM 表 WHERE datediff(week,[日期字段],getdate())=0

3、--統(tǒng)計(jì)本月
SELECT * FROM 表 WHERE datediff(month,[日期字段],getdate())=0

4、統(tǒng)計(jì)當(dāng)前

SELECT * FROM 表 WHERE datediff(day,[日期字段1],getdate())=0
Select * From [SQLServer].[nbbs].[dbo].[TopicCurrent] with(nolock) Where Convert(varchar(10),[日期字段2],120) = Convert(varchar(10),getDate(),120)

文章名稱:SQL日期時(shí)間函數(shù)總結(jié)(MSSQL)
網(wǎng)頁(yè)地址:http://bm7419.com/article4/jcipie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、動(dòng)態(tài)網(wǎng)站網(wǎng)站內(nèi)鏈、網(wǎng)站導(dǎo)航網(wǎng)站建設(shè)、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)