函式
描述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 orderdayfrom orders
where orderid=1
dateadd(datepart,number,date)
date 引數是合法的日期表示式。number 是您希望新增的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數。
例項
select orderid,dateadd(day,2,orderdate)
as orderpaydatefrom 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...