国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:60日期:2023-03-12 15:25:15
目錄
  • 0、date與timestamp
  • 1、獲取系統(tǒng)當(dāng)前時(shí)間
  • 2、ORACLE里獲取一個(gè)時(shí)間的年、季、月、周、日的函數(shù):
  • 3、日期操作
  • 4、常用的時(shí)間戳
  • 5、查詢某時(shí)間范圍
  • 總結(jié)

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)年的一月一號
to_date(concat((select to_char(sysdate,‘yyyy") from dual), ‘-01-01 00:00:00"),‘yyyy-MM-dd HH24:mi:ss") //date格式
//獲取這個(gè)月的一月一號
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)文章希望大家以后多多支持!

標(biāo)簽: Oracle
主站蜘蛛池模板: 沛县| 库伦旗| 庆阳市| 垣曲县| 潢川县| 抚顺市| 托克逊县| 黎平县| 兴海县| 章丘市| 金寨县| 枞阳县| 乌兰浩特市| 重庆市| 唐海县| 宣武区| 迁西县| 凤庆县| 文登市| 滨海县| 吕梁市| 兴安县| 平舆县| 巴楚县| 鲁甸县| 银川市| 永善县| 安福县| 威海市| 枣庄市| 枣强县| 安宁市| 比如县| 开封市| 东乡族自治县| 塔河县| 浦江县| 泌阳县| 兖州市| 鄄城县| 共和县|