欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle如何在SQL語句中對時(shí)間操作、運(yùn)算

 更新時(shí)間:2022年09月18日 14:51:14   作者:靈丘丶白給王  
時(shí)間操作運(yùn)算對大家來說應(yīng)該都不陌生,這篇文章主要給大家介紹了關(guān)于Oracle如何在SQL語句中對時(shí)間操作、運(yùn)算的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

0、date與timestamp

1)區(qū)別

date精確到年月日時(shí)分秒,timestamp更精確一些;

但這個(gè)不重要,重要的是,實(shí)踐中我從Oracle數(shù)據(jù)庫取date類型字段,前端展示時(shí)分秒都是0,網(wǎng)上說數(shù)據(jù)庫類型是date取到前端就是這樣,只能精確到日,后面都是默認(rèn)填0;
我給字段換成timestamp確實(shí)問題解決了,我理解不了!

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)當(dāng)前時(shí)間

date類型的:

sysdate

timestamp類型的:

SYSTIMESTAMP

char類型的:

to_char(sysdate, ‘yyyy-mm-dd hh24:mi:ss’)

2、ORACLE里獲取一個(gè)時(shí)間的年、季、月、周、日的函數(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、日期操作

當(dāng)前時(shí)間減去7分鐘的時(shí)間

select sysdate - interval ‘7' MINUTE from dual;

當(dāng)前時(shí)間減去7小時(shí)的時(shí)間

select sysdate - interval ‘7' hour from dual;

當(dāng)前時(shí)間減去7天的時(shí)間

select sysdate - interval ‘7' day from dual;

當(dāng)前時(shí)間減去7月的時(shí)間

select sysdate - interval ‘7' month from dual;

當(dāng)前時(shí)間減去7年的時(shí)間

select sysdate - interval ‘7' year from dual;

時(shí)間間隔乘以一個(gè)數(shù)字

select sysdate - 8*interval ‘7' hour from dual;

4、常用的時(shí)間戳

//獲取當(dāng)年的一月一號(hào)
to_date(concat((select to_char(sysdate,‘yyyy') from dual), ‘-01-01 00:00:00'),‘yyyy-MM-dd HH24:mi:ss') //date格式
//獲取這個(gè)月的一月一號(hào)
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、查詢某時(shí)間范圍

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é)

到此這篇關(guān)于Oracle如何在SQL語句中對時(shí)間操作、運(yùn)算的文章就介紹到這了,更多相關(guān)Oracle對時(shí)間操作運(yùn)算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論