Oracle如何在SQL語句中對時間操作、運算
0、date與timestamp
1)區(qū)別
date精確到年月日時分秒,timestamp更精確一些;
但這個不重要,重要的是,實踐中我從Oracle數(shù)據(jù)庫取date類型字段,前端展示時分秒都是0,網(wǎng)上說數(shù)據(jù)庫類型是date取到前端就是這樣,只能精確到日,后面都是默認填0;
我給字段換成timestamp確實問題解決了,我理解不了!
2)轉換
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';
總結
到此這篇關于Oracle如何在SQL語句中對時間操作、運算的文章就介紹到這了,更多相關Oracle對時間操作運算內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
oracle生成動態(tài)前綴且自增號碼的函數(shù)分享
這篇文章主要介紹了oracle生成動態(tài)前綴且自增號碼的函數(shù),需要的朋友可以參考下2014-04-04
Oracle刪除當前用戶下所有表的方法適用于有或沒有刪除權限
如果有plsql客戶端,則可以使用該用戶登錄,選中所有表 右鍵Drop即可,如果有或沒有刪除用戶的權限都可以使用下面的方法2014-06-06
DB2數(shù)據(jù)庫切換為oracle數(shù)據(jù)庫經(jīng)驗教訓總結(必看篇)
下面小編就為大家?guī)硪黄狣B2數(shù)據(jù)庫切換為oracle數(shù)據(jù)庫經(jīng)驗教訓總結(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
oracle中對JSON數(shù)據(jù)處理的詳細指南
很多人對JSON不陌生,JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,下面這篇文章主要給大家介紹了關于oracle中對JSON數(shù)據(jù)處理的詳細指南,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05

