SqlServer日期函式常用操作

2021-08-03 17:00:10 字數 3910 閱讀 5719

函式

描述getdate()

返回當前日期和時間

datepart()

返回日期/時間的單獨部分

dateadd()

在日期中新增或減去指定的時間間隔

datediff()

返回兩個日期之間的時間

convert()

用不同的格式顯示日期/時間

select datename(hour,getdate())

select datename(minute,getdate())

select datename(second,getdate())

select datename(weekday,getdate())

select datename(week,getdate())

使用convert()函式:

select convert(char(10),getdate(),120) as date

* 第3個引數就是用來設定日期型別資料的顯示樣式的,下面介紹幾種樣式的引數

100   mm dd yyyy

101   mm/dd/yyyy

102   yyyy.mm.dd

103   dd/mm/yyyy

106   dd mm yyyy

108   hh:mi:ss(時間)

111   yyyy/mm/dd

112   yyyymmdd

120   yyyy-mm-dd

select convert(varchar(100), getdate(), 0) 05 9 2011 9:12am

select convert(varchar(100), getdate(), 1) 05/09/11

select convert(varchar(100), getdate(), 2) 11.05.09

select convert(varchar(100), getdate(), 3) 09/05/11

select convert(varchar(100), getdate(), 4) 09.05.11

select convert(varchar(100), getdate(), 5) 09-05-11

select convert(varchar(100), getdate(), 6) 09 05 11

select convert(varchar(100), getdate(), 7) 05 09, 11

select convert(varchar(100), getdate(), 8) 09:13:14

select convert(varchar(100), getdate(), 9) 05 9 2011 9:13:14:670am

select convert(varchar(100), getdate(), 10) 05-09-11

select convert(varchar(100), getdate(), 11) 11/05/09

select convert(varchar(100), getdate(), 12) 110509

select convert(varchar(100), getdate(), 13) 09 05 2011 09:13:14:670

select convert(varchar(100), getdate(), 14) 09:13:14:670

select convert(varchar(100), getdate(), 20) 2011-05-09 09:13:14

select convert(varchar(100), getdate(), 21) 2011-05-09 09:13:14.670

select convert(varchar(100), getdate(), 22) 05/09/11 9:15:33 am

select convert(varchar(100), getdate(), 23) 2011-05-09

select convert(varchar(100), getdate(), 24) 09:15:33

select convert(varchar(100), getdate(), 100) 05 9 2011 9:15am

select convert(varchar(100), getdate(), 101) 05/09/2011

select convert(varchar(100), getdate(), 102) 2011.05.09

select convert(varchar(100), getdate(), 103) 09/05/2011

select convert(varchar(100), getdate(), 104) 09.05.2011

select convert(varchar(100), getdate(), 105) 09-05-2011

select convert(varchar(100), getdate(), 106) 09 05 2011

select convert(varchar(100), getdate(), 107) 05 09, 2011

select convert(varchar(100), getdate(), 109) 05 9 2011 9:16:38:543am

select convert(varchar(100), getdate(), 110) 05-09-2011

select convert(varchar(100), getdate(), 111) 2011/05/09

select convert(varchar(100), getdate(), 112) 20110509

select convert(varchar(100), getdate(), 113) 09 05 2011 09:17:19:857

select convert(varchar(100), getdate(), 114) 09:17:19:857

select convert(varchar(100), getdate(), 121) 2011-05-09 09:17:19.857

select convert(varchar(100), getdate(), 126) 2011-05-09t09:17:19.857

select convert(varchar(100), getdate(), 131) 6/06/1432 9:17:19:857am

語法

datepart(datepart,date)
例項
select datepart(yyyy,orderdate)as orderyear,datepart(mm,orderdate) as ordermonth,datepart(dd,orderdate)as orderday

from orders

where orderid=1

dateadd(datepart,number,date)

date 引數是合法的日期表示式。number 是您希望新增的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數。

例項

select orderid,dateadd(day,2,orderdate)as orderpaydate

from orders

datediff() 函式返回兩個日期之間的時間。

datediff(datepart,startdate,enddate)
例項

select datediff(day,'2008-12-29','2008-12-30') as diffdate
select datediff(day,'2008-12-30','2008-12-29') as diffdate

SQL SERVER常用日期函式

1.乙個月第一天的 select dateadd mm,datediff mm,0,getdate 0 2.本週的星期一 select dateadd wk,datediff wk,0,getdate 0 3.一年的第一天 select dateadd yy,datediff yy,0,getdat...

SQL SERVER常用日期函式

0.獲取乙個隨機的不重複的bigint數。select convert char 6 getdate 12 right 10000000000 convert bigint,abs checksum newid 10 as id 1.乙個月第一天的 select dateadd mm,datedif...

sqlserver 日期函式

一直都在用oracle,對sqlserver中的一些函式很不熟悉,在工作用偶爾會用到,貼在這裡,便於以後查詢 取出資料庫欄位中datetime列的日期部分 1 select datename year,getdate datename month,getdate datename day,getda...