Oracle / PLSQL寫語句 常用的幾個函數


下面開始記錄一下,自己在Oracle或者PLSQL常用的幾個函數,

1add_months 增加或減去月份
2. last_day(sysdate) 返回日期的最后一天
3. months_between (date2,date1) 給出date2-date1的月份
4. new_time (date,'this','that') 給出在this時區=other時區的日期和時間
5. next_day (date,'day') 給出日期date和星期x之后計算下一個星期的日期
6. sysdate 用來得到系統的當前日期
7. hextoraw 將一個十六進制構成的字符串轉換為二進制
8. rawtohext 將一個二進制構成的字符串轉換為十六進
9. rowidtochar 將ROWID數據類型轉換為字符類型
10.avg(DISTINCT|ALL) all表示對所有的值求平均值,distinct只對不同的值求平均值
11.max(DISTINCT|ALL) 求最大值,DISTINCT表示對不同的值求最大值,相同的只取一次
12.min(DISTINCT|ALL) 求最小值,DISTINCT表示對不同的值求最小值,相同的只取一次
13. stddev (distinct|all) 求標准差,DISTINCT表示只對不同的值求標准差
14. variance (DISTINCT|ALL) 求協方差
15. group by主要用來對一組數進行統計
16. having 對分組統計再加限制條件
17.ORDER BY 用於對查詢到的結果進行排序輸出

1、NUMTODSINTERVAL( number, expression )
參數說明:
number:數字類型的值
expression:單位,這里的單位是固定的,有DAY,HOUR,MINUTE,SECOND
1
2
3
4
5
6
7
8
舉例說明:
-- 當前日期加 25
select sysdate, sysdate + numtodsinterval( 25 'day' ) as res from dual;
 
-- 當前日期加 2 小時,這里轉換了下時間格式,更容易看出來,下圖所示
select to_char(sysdate,  'yyyy-MM-dd hh24:mi:ss' ), to_char(sysdate + numtodsinterval( 2 'hour' ),  'yyyy-MM-dd hh24:mi:ss' ) as res from dual;
 
-- 當前日期加分鍾,秒,可以依葫蘆畫瓢,嘗試寫一下

顯示效果如下圖所示:

 

與此同時,和他相同的函數是下面的函數

2、NUMTOYMINTERVAL( number, expression )
參數說明:
number:數字類型的值
expression:單位,這里的單位是固定的,有MONTH,YEAR
1
2
3
4
5
6
舉例說明:
-- 當前日期加 2
select sysdate, sysdate + numtoyminterval( 2 'month' ) as res from dual;
 
-- 當前日期加 2
select sysdate, sysdate + numtoyminterval( 2 'year' ) as res from dual;

 顯示效果如下圖所示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM