下面開始記錄一下,自己在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;
|
顯示效果如下圖所示: