Oracle如何在SQL語句中對時間操作、運算
0、date與timestamp
1)區(qū)別
date精確到年月日時分秒,timestamp更精確一些;
但這個不重要,重要的是,實踐中我從Oracle數(shù)據(jù)庫取date類型字段,前端展示時分秒都是0,網(wǎng)上說數(shù)據(jù)庫類型是date取到前端就是這樣,只能精確到日,后面都是默認填0;
我給字段換成timestamp確實問題解決了,我理解不了!
2)轉(zhuǎn)換
timeStamp --> date
TO_DATE(to_char(xxxTimestamp, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss')
date -->timeStamp
TO_TIMESTAMP(to_char(xxxDate, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss')
1、獲取系統(tǒng)當前時間
date類型的:
sysdate
timestamp類型的:
SYSTIMESTAMP
char類型的:
to_char(sysdate, ‘yyyy-mm-dd hh24:mi:ss’)
2、ORACLE里獲取一個時間的年、季、月、周、日的函數(shù):
select to_char(sysdate, ‘yyyy' ) from dual; --年 select to_char(sysdate, ‘MM' ) from dual; --月 select to_char(sysdate, ‘dd' ) from dual; --日 select to_char(sysdate, ‘Q') from dual; --季 select to_char(sysdate, ‘iw') from dual; --周–按日歷上的那種,每年有52或者53周
3、日期操作
當前時間減去7分鐘的時間
select sysdate - interval ‘7' MINUTE from dual;
當前時間減去7小時的時間
select sysdate - interval ‘7' hour from dual;
當前時間減去7天的時間
select sysdate - interval ‘7' day from dual;
當前時間減去7月的時間
select sysdate - interval ‘7' month from dual;
當前時間減去7年的時間
select sysdate - interval ‘7' year from dual;
時間間隔乘以一個數(shù)字
select sysdate - 8*interval ‘7' hour from dual;
4、常用的時間戳
//獲取當年的一月一號 to_date(concat((select to_char(sysdate,‘yyyy') from dual), ‘-01-01 00:00:00'),‘yyyy-MM-dd HH24:mi:ss') //date格式 //獲取這個月的一月一號 SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1 FROM DUAL; //date格式
char格式
SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1,‘yyyy-mm-dd HH24:mi:ss') FROM DUAL;
5、查詢某時間范圍
SELECT users.* FROM users WHERE create_time >= '2021-12-01 00:00:00' AND create_time <= '2021-12-06 00:00:00'
或者
SELECT users.* FROM users WHERE create_time BETWEEN '2021-12-01' AND '2021-12-07';
總結(jié)
到此這篇關于Oracle如何在SQL語句中對時間操作、運算的文章就介紹到這了,更多相關Oracle對時間操作運算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Oracle查看正在執(zhí)行的sql語句的方法大全
- oracle數(shù)據(jù)庫查看鎖表的sql語句整理
- oracle轉(zhuǎn)mysql語句轉(zhuǎn)換實例代碼
- Oracle中sql語句如何執(zhí)行日志查詢
- oracle數(shù)據(jù)庫導入.dmp腳本的sql 語句
- ORACLE中如何找到未提交事務的SQL語句詳解
- SELECT INTO 和 INSERT INTO SELECT 兩種表復制語句詳解(SQL數(shù)據(jù)庫和Oracle數(shù)據(jù)庫的區(qū)別)
- Oracle數(shù)據(jù)庫找到 Top Hard Parsing SQL 語句的方法
相關文章
Oracle數(shù)據(jù)表保留一條重復數(shù)據(jù)簡單方法
最近開發(fā)的時候遇到一個任務,需要對重復的數(shù)據(jù)進行篩選,所以下面這篇文章主要給大家介紹了關于Oracle數(shù)據(jù)表保留一條重復數(shù)據(jù)的簡單方法,需要的朋友可以參考下2023-11-11大表delete刪數(shù)據(jù)導致數(shù)據(jù)庫異常解決
這篇文章主要為大家介紹了大表delete刪數(shù)據(jù)導致數(shù)據(jù)庫異常解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07