1.oracle中的日期處理(乙個型別兩個函式)
日期的資料型別date,該型別可以包含日期時間
2.系統當前日期的獲取方式
select sysdate from dual; --日期時間
3.日期與字串的轉換問題
(1)日期轉換成字串 to_char
select sysdate 標準顯示,
to_char(sysdate,'yyyy-mm-dd') 日期,
to_char(sysdate,'yyyy') 四位日期,
to_char(sysdate,'yy') 兩位日期,
to_char(sysdate,'mm') 月,
to_char(sysdate,'dd') 月第幾天,
to_char(sysdate,'ddd') 年第幾天,
to_char(sysdate,'d') 周第幾天,
to_char(sysdate,'hh') 小時12,--12小時進製
to_char(sysdate,'hh24') 小時24,--24小時進製
to_char(sysdate,'mi') 分,
to_char(sysdate,'ss') 秒,
to_char(sysdate,'hh24:mi:ss') 時分秒,
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') 時間戳
from dual;
(2)字串轉換成日期 to_date
select to_date('2018-05-06','yyyy-mm-dd')+2
from dual; --字串轉換日期
select to_date('2018-05-06 18:23:56','yyyy-mm-dd hh24:mi:ss')
from dual; --字串轉換時間戳
(3)應用場景
to_char一般應用於select語句,用以將日期按照固定的格式查詢出來,顯示到頁面上
to_date應用場景有:
①在更新語句中(insert update)將指定字串轉換成日期錄入資料庫
②在查詢語句中where裡面,將指定的字串轉換成日期進行比較
(4)日期在資料庫中的儲存問題:
所有資料庫的日期型別,在資料庫中都是以常整數儲存的乙個,從標註日期(1970-01-01 00:00:00)到當前指定日期之間的毫秒差。
基於上述,日期比較實際上就是常整數之間的加減法,比較速度會快於字串比較。
4.日期的計算
(1)天數加減:
直接操作,日期是基於天數操作的
(2)月份加減:
oracle中對於日期的加減是通過乙個函式add_months(日期,數值)完成的
該函式會在當前日期的基礎上,增加或減少指定月數
--系統時間的次月同日
select add_months(sysdate,1) 下月同日,
add_months(sysdate,-1) 上月同日
from dual;
--指定日期的次月同日
select add_months(to_date('2015-06-05','yyyy-mm-dd'),1)
from dual;
--指定日期不存在次月同日,以次月最後一日為同日
select add_months(to_date('2015-08-31','yyyy-mm-dd'),1)
from dual;
(3)時分秒操作
--加三個小時
select sysdate,sysdate+3/24
from dual;
--加10分鐘
select sysdate,sysdate+10/60/24
from dual;
--加30秒
select sysdate,sysdate+30/60/60/24
from dual;
5.日期修改操作
--將person表中的pdate修改為系統當前時間
update person a
set a.pdate=sysdate
where a.pid=3;
--將孫二娘的生日修改為1999-01-01
update person a
set a.pdate=to_date('1999-01-01','yyyy-mm-dd')
where a.pname='孫二娘';
--錄入系統當前日期
insert into person(pid,pname,pnumber,p***,pstate,pmoney,pdate)
values(18,'你真好','1000','1','1','11111',sysdate);
--錄入指定日期
insert into person(pid,pname,pnumber,p***,pstate,pmoney,pdate)
values(19,'當然了','1000','1','1','11111',to_date('1958-01-02','yyyy-mm-dd'));
Oracle命令(四) 日期函式
sysdate 輸出預設時間 日 月 年 select to char sysdate,yyyy mm dd hh24 mi ss from dual 按照指定格式輸出時間資訊 日期的運算 計算 入職時間,天,周,月,年 select ename,sysdate hiredate 天,sysdate...
Python3 日期相關
import datetime import time 獲取當前日期,格式化 date0 datetime.date.today strftime y m d h m s print date0 只有年月日 例如 20180927 00 00 00 date1 datetime.datetime.t...
oracle3種分頁總結
list 1.通過rowid來分頁 list select e.from emp e where rowid in select rid from select rownum rn,rid from select rowid rid,e.sal from emp e order by sal whe...