資料庫常見時間函式的用法
1、MySQL 資料庫
日期格式轉換:date_format(date,format), time_format(time,format)
使用DATE_FORMAT(資料庫欄位,'%Y%m%d')將時間型別欄位格式為"yyyy-mm-dd"字串格式
str_to_date(資料庫欄位,'%m.%d.%Y')將字串型別欄位格式為"yyyy-mm-dd"時間格式
2、SQL server 資料庫
---獲得系統當前時間
select getdate() ---2016-11-14 10:40:40.987
---在指定日期中增減時間間隔 dateadd
select dateadd(day,1,getdate()) ---2016-11-15 10:41:22.843
select dateadd(day,-1,getdate()) ---2016-11-13 10:41:47.830
select dateadd(month,1,getdate()) --2016-12-14 10:42:10.330
select dateadd(month,-1,getdate())--2016-10-14 10:42:25.913
select dateadd(year,1,getdate()) --2017-11-14 10:43:03.557
select dateadd(year,-1,getdate()) --2015-11-14 10:43:19.120
---返回指定日期之間的時間間隔
select datediff(day,'2016-11-18','2016-10-01') -- -48
select datediff(day,'2016-10-01','2016-11-18') -- 48
select datediff(month,'2015-12-01','2016-11-18') --11
select datediff(month,'2016-12-01','2015-11-18') --13
select datediff(year,'2016-12-01','2015-11-18') -- -1
select datediff(year,'2015-12-01','2016-11-18') -- 1
--select getdate() ---2016-11-14 10:40:40.987
select getdate() --2016-11-14 11:13:28.000
---返回指定日期的單獨部分
select datepart(mm,getdate())--11
select datepart(yy,getDate())--2016
select datepart(dd,getdate())--14
select datepart(dy,getdate())--319
select datepart(wk,getdate())--47
select datepart(dw,getdate())--2
select datepart(qq,getdate())--4
select datepart(hh,getdate())--11
select datepart(mi,getdate())--15
select datepart(ss,getdate())--6
等同於:
select year(getdate())
select month('2016-02-14 11:36:19.727')
select DAY(getdate()) --14
---獲得指定時間型別部分
select datename(year, getdate()) ---2016
select datename(weekday, getdate()) ---星期幾
--日期與字串之間的轉換函式
select cast('2016-11-14 11:24:43.900' as date)
select convert(date,'2016-11-14 11:24:43.900')
select CONVERT(varchar, getdate(), 120 ) ---2016-11-14 11:08:10
select CONVERT(varchar(10),getdate(),120)
select CONVERT(varchar, getdate(), 111 ) --2016/11/14
select CONVERT(varchar, getdate(), 112 ) --20161114
select CONVERT(varchar, getdate(), 102 ) --2016.11.14
--
-- 100 05 8 2006 9:27PM
-- 101 05/08/2006
-- 102 2006.05.08
-- 103 08/05/2006
-- 104 08.05.2006
-- 105 08-05-2006
-- 106 08 05 2006
-- 107 05 08, 2006
-- 108 21:30:51
-- 109 05 8 2006 9:31:11
-- 110 05-08-2006
-- 111 2006/05/08
-- 112 20060508
-- 113 08 05 2006 21:31:59
-- 114 21:33:06:503
-- 120 2006-05-08 21:33:38
3、oracle時間處理函式
(1)使用TO_CHAR函式處理數字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
(2)使用TO_CHAR函式處理日期
TO_CHAR(date,’格式’);
to_char(sysdate,'q') 季
to_char(sysdate,'yyyy')年
to_char(sysdate,'mm')月
to_char(sysdate,'dd')日
to_char(sysdate,'d')星期中的第幾天
to_char(sysdate,'DAY')星期幾
to_char(sysdate,'ddd')一年中的第幾天
(3)TO_NUMBER
使用TO_NUMBER函式將字元轉換為數字
TO_NUMBER(char[, '格式'])
(4) TO_DATE
使用TO_DATE函式將字元轉換為日期
TO_DATE(char[, '格式'])