日期和時間函式

2022-02-15 11:48:42 字數 3434 閱讀 7015

日期和時間型別:

代表日期和一天內的時間的日期和時間資料型別

資料庫可以識別以下格式的時間和日期.

1.字母日期格式

2.數字日期格式

3.未分隔的字串

例子:

declare @date datetime

--set @date='april 15, 1998'

--set @date = '12/10/1900'

set @date='19001211'

select @date

結果:

1900-12-11 00:00:00.000

getdate:

返回當前系統時間和日期.

語法:getdate()

例子:select getdate()

結果:2010-01-10 11:14:36.483

getutcdate:

返回當前的格林尼治標準時間.

當前的utc時間得自當前的本地時間和計算機作業系統的時區設定.

語法:getutcdate()

例子:select getdate(),getutcdate()

結果:

year

返回指定日期中的年份

語法:year(date)

month

返回指定日期中的月份

語法:month(date)

day

返回指定日期中的天

語法:day(date)

例子:select year(getdate()),month(getdate()),day(getdate())

結果:

datepart:

返回指定日期中指定部分的整數.

語法:datepart(part,date)

返回型別:int

引數:part

日期部分

縮寫year

yy,yyyy

quarter

qq,q

month

mm,m

dayofyear

dy,y

daydd,d

week

wk,ww

weekday

dwhour

hhminute

mi,n

second

ss,s

millisecond

ms

declare @time datetime

set @time=getdate()

例1:

select @time,datepart(year,@time),datepart(month,@time),datepart(day,@time),

datepart(hour,@time),datepart(minute,@time),datepart(second,@time),datepart(millisecond,@time)

結果:例2:

select @time,datepart(quarter,@time),datepart(dayofyear,@time),datepart(week,@time),datepart(weekday,@time)
結果:

datename

返回指定日期指定部分的字串.

語法:datename(part,date)

返回型別:nvarchar

引數:與datepart基本相同.

例1:

select @time,datename(year,@time),datename(month,@time),datename(day,@time),

datename(hour,@time),datename(minute,@time),datename(second,@time),datename(millisecond,@time)

結果:

例2:

select @time,datename(quarter,@time),datename(dayofyear,@time),datename(week,@time),datename(weekday,@time)
結果:

注意:

datepart和datename的區別:

返回型別不同.datepart返回的是int型別,而datename返回的是nvarchar型別. 

dateadd:

在指定的日期上加一段時間,然後返回新的值.

語法:dateadd(part,number,date)

引數:part:同上

number:用來增加的值,注意:此時若不是乙個整數,則會廢棄小數部分,而不會四捨五入

date:日期.

例子:

select getdate(),dateadd(month,12,getdate()),dateadd(minute,60,getdate())
結果:

datediff:

返回指定兩個日期的日期指定部分的差值.用第乙個日期減去第二個日期

語法:datediff(part,startdate,enddate)

例子:

declare @startdate datetime

set @startdate = getdate()

declare @enddate1 datetime

set @enddate1 = dateadd(year,1,getdate())

declare @enddate2 datetime

set @enddate2 = dateadd(day,8,getdate())

select @startdate 起始時間,@enddate1 結束時間1,@enddate2 結束時間2,datediff(year,@startdate,@enddate1) 年差,

datediff(day,@startdate,@enddate2) 天數差,datediff(week,@startdate,@enddate2) 星期差

結果:

函式整理(日期和時間函式)

函式整理 日期和時間函式 日期和時間函式處理支援日期 時間值轉換的各種過程。一星期七天用下面的 值表示。值 一星期七天 1 星期日 2 星期一 3 星期二 4 星期三 5 星期四 6 星期五 7 星期六 cdate cdate函式轉換成date子類的表示式。用法為 result cdate expr...

Mysql日期和時間函式

date format date,format 根據format字串格式化date值。下列修飾符可以被用在format字串中 m 月名字 january december w 星期名字 sunday saturday d 有英語字首的月份的日期 1st,2nd,3rd,等等。y 年,數字,4 位 y...

SQL Server 日期和時間函式

1 常用日期方法 下面的getdate 2006 11 08 13 37 56.233 1 datename datepart date 返回表示指定日期的指定日期部分的字串。datepart詳見下面的列表.select datename day,getdate 返回8 2 datepart dat...