久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle查詢優化日期運算的示例分析

152次閱讀
沒有評論

共計 1914 個字符,預計需要花費 5 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

丸趣 TV 小編給大家分享一下 Oracle 查詢優化日期運算的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

  加減日、月、年

在 Oracle 中,date 類型可以直接加減天數,而加減月份要用 add_months 函數.

select a.hiredate  雇用日期,
 a.hiredate + 5  加 5 天,
 a.hiredate - 5  減 5 天,
 add_months(hiredate, 5)  加 5 個月,
 add_months(hiredate, -5)  減 5 個月,
 add_months(hiredate, 5 * 12)  加 5 年,
 add_months(hiredate, -5 * 12)  減 5 年
 from emp a where rownum  

雇用日期   加 5 天   減 5 天   加 5 個月   減 5 個月   加 5 年   減 5 年 ----------- ----------- ----------- ----------- ----------- ----------- ----------- 1980-12-17 1980-12-22 1980-12-12 1981-05-17 1980-07-17 1985-12-17 1975-12-17

加減時、分、秒

上面講過,date 可以直接加減天數,那么 1 /24 就是一小時,分鐘與秒的加減類同。

select a.hiredate,
 a.hiredate - 5 / 24 / 60 / 60  減 5 秒,
 a.hiredate + 5 / 24 / 60 / 60  加 5 秒,
 a.hiredate - 5 / 24 / 60  減 5 分鐘,
 a.hiredate + 5 / 24 / 60  加 5 分鐘,
 a.hiredate - 5 / 24  減 5 小時,
 a.hiredate + 5 / 24  加 5 小時
 from emp a
 where rownum  = 1;

如果執行時,報錯

Oracle 查詢優化日期運算的示例分析

數據庫服務器端的編碼和客戶端字符集編碼不一致。

我這邊用的數據庫西班牙語,不支持中文。

日期間隔之時、分、秒

SQL  select duration,
 duration * 24  間隔小時,
 duration * 24 * 60  間隔分鐘,
 duration * 24 * 60 * 60  間隔秒
 from (select (max(a.hiredate) - min(a.hiredate)) as duration from emp a where
 a.ename in (ALLEN ,  WARD)) x;

 DURATION  間隔小時   間隔分鐘   間隔秒 ---------- ---------- ---------- ----------  2 48 2880 172800

日期間隔之日、月、年

加減月份用函數 add_months,而計算月份間隔就要用函數 months_between

select max_hd - min_hd  間隔天,
 months_between(max_hd, min_hd)  間隔月,
 months_between(max_hd, min_hd) /12  間隔年
 from (select min(hiredate) min_hd, max(hiredate) max_hd from emp) x;

---------- ---------- ----------  2348 77.1935483 6.43279569

計算一年中周內各日期的次數

問題

計算一年中周內各日期(星期日、星期一 ……星期六)的次數。

解決方案

要計算一年中周內各日期分別有多少個,必須:

生成一年內的所有日期。

設置日期格式,得到每個日期對應為星期幾。

計數周內各日期分別有多少個。

with x as
 (select level lvl
 from dual
 connect by level  =
 (add_months(trunc(sysdate,  y), 12) - trunc(sysdate,  y)))
select to_char(trunc(sysdate,  y) + lvl - 1,  DAY ), count(*)
 from x
 group by to_char(trunc(sysdate,  y) + lvl - 1,  DAY

Oracle 查詢優化日期運算的示例分析

以上是“Oracle 查詢優化日期運算的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計1914字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 思茅市| 水富县| 定襄县| 灵丘县| 邹平县| 洪江市| 富顺县| 洛隆县| 宁远县| 湖北省| 武安市| 旅游| 梧州市| 杭州市| 桐梓县| 吉水县| 邛崃市| 朝阳市| 蓬莱市| 皮山县| 宁海县| 阿坝县| 久治县| 乌海市| 浦东新区| 文山县| 会泽县| 繁峙县| 德清县| 寿宁县| 乐清市| 运城市| 饶阳县| 新河县| 永吉县| 赫章县| 桂平市| 饶河县| 阿克苏市| 韩城市| 宣恩县|