oracle中的常用函數


oracle中的常用函數

1. 字符串常用函數

函數名 說明
concat 用來連接字符串的函數,只能連接兩個字符串。如果想連接多個字符串可以使用"||"符號
initcap 把每個單詞的首字母大寫。
instr(‘母字符串’,‘子字符串’) 母字符串:被查找的字符串。子字符串:要查找的字符串。 如果有第三個參數,代表從第幾個字符開始查找。 第四個參數代表查詢第幾次出現的字符串的下標,默認是1。 查詢不到返回0 select instr('410106199012132018','19901213',1,1) instring from dual;
upper 把所有字符大寫
lower 把所有字符小寫
rpad('母字符',n,'子字符') (ringht pad)在列的右邊粘貼字符。在母字符右邊補充子字符串。n表示補充后達到的字符數量 select rpad('gao',10,'#') from dual;
lpad (left pad)在列的左邊粘貼字符。同rpad
ltrim('','') 刪除左邊出現的字符串 第一個參數代表要處理的字符串,如果沒有第二個參數代 表刪除空格,如果有第二個參數代表要刪除第二個參數指定的字符串**
rtrim 刪除右邊出現的字符串. 同ltrim select rtrim('*令狐沖 ',' ') from dual;
substr( ' ', , ) 截取子字符串 第一個參數代表要處理的字符串,第二個參數代表從第幾位開始截取,默認從1開始。第三個參數代表最多截取多少個字符,若為空截全部 select substr(‘13012345678’,3,8) from dual;
replace 字符串替換 第一個參數代表要處理的字符串。第二個參數表示要替換的字符串,第三個參數表示替換后的字符串 select replace('全能神就是好','全能神','切糕') from dual;
trim(type'字符串1'from'字符串2') 分別從字符串2的兩邊開始刪除指定的字符1個,如果第前兩個參數和from省略,則刪除字符串2兩邊的空格; type:刪除的方式(leading:從左邊開始刪除;trailing:從右邊開始刪除;both:默認方式,從兩邊刪除) 刪除tech兩端的字符串 :select trim(' tech ') from dual; 刪除 000123頭部的0字符 : select trim(leading '0' from '000123') from dual;

處理數值類型的常用函數

函數名 說明
ABS 返回指定值的絕對值
CEIL 返回大於或等於給出數字的最小整數 select ceil(3.1415927) from dual;
FLOOR 對給定的數字取整數
MOD(n1,n2) 返回一個n1除以n2的余數
POWER(n1,n2) 返回n1的n2次方
SIGN 取數字n的符號,大於0返回1,小於0返回-1,等於0返回0
SQRT 返回數字的根

| round | 按照指定的精度四舍五入 第二個參數為正時,表示從小數點向后計算。 第二個參數為負時,表示從小數點向前計算。 select round(124.1666,-2),round(124.1666,2) from dual;

| trunc | 按照指定的精度截取一個數 select trunc(124.1666,-2) , trunc(124.16666,2) from dual; |

日期函數

函數名 函數值
sysdate 獲取當前日期 select sysdate, to_char(sysdate,’dd-mm-yyyy day’) from dual;
ADD_MONTHS 增加或減去月份 select add_months(sysdate,2) from dual;
LAST_DAY 返回日期的最后一天
MONTHS_BETWEEN(date2,date1) 給出date2和date1相差的月份
NEXT_DAY(date,'day') 給出日期date和星期x之后計算下一個星期的日期
trunc(date,fmt) 按指定格式截取日期
to_char() 把數字或者日期轉換為字符串。轉換日期to_char(日期,要轉換成的 日期的格式)
to_date() 把字符串轉換為日期 有兩個參數,第一個參數是要轉換的日期的字 符串,第二個參數日期字符串的格式
   

轉換函數

函數 返回 描述
to_char(timestamp, text) text timestamp 轉換成 string
to_char(int, text) text int4/int8 轉換成 string
to_char(double precision, text) text real/double precision 轉換成 string
to_char(numeric, text) text numeric 轉換成 string
to_date(text, text) date string 轉換成 date
to_timestamp(text, text) date string 轉換成 timestamp
to_number(text, text) numeric string 轉換成 numeric
     
     
將日期按特定格式顯示
select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;
將字符串數據轉換成為日期類型
select to_date('3月 7,1999','Month DD,yyyy') from dual;
select to_char(hiredate,’yyyy-MM-dd day’) from emp• where rownum<10;
將字符串轉換為數值
select to_number('1999') + 10 from dual;

其他函數

nvl 值為空時顯示某個值,否則顯示自身
select ename, sal,comm,nvl(comm,0),sal+nvl(comm,0) from emp;
nvl2 參數1不為null,返回第二個參數,否則第三個參數
select comm,nvl2(comm,comm,0) from emp;
聚合函數
max
最大值
min
最小值
count,
列總和
sum,
相加總和
avg
計算平均值


免責聲明!

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



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