Oracle 常用函數- 字元和數學函數

來源:互聯網
上載者:User

標籤:oracle   資料庫   字元函數   數學函數   

在oracle的開發和使用中,經常需要用到各種各樣的函數,這一章歸納下簡單的字串、數學函數,以後需要用起來也方便點,也能讓有緣的同學少走一點彎路。

--常用字元相關函數

1、substr字串截取

substr(字串,截取開始位置,截取長度)

select substr(‘abcdef‘,1,3) from dual

截取開始位置,0和1都是表示截取的開始位置為第一個字元;

 

2、 instr尋找子串位置

   select instr(‘abcfdgfdhd‘,‘fd‘)from dual

返回第一個子串的位置。

 

3、||字串串連

 select ‘hello‘||‘, world‘ fromdual;

 

4、trim對字串兩邊的處理

trim一般都是用在刪除字串兩邊的空格,也可以用來刪除字串兩邊的指定字元。trim指定刪除的字串只能是單個字元。

1. trim()刪除字串兩邊的半形空格。

2. ltrim()刪除字串左邊的半形空格。

3. rtrim()刪除字串右邊的半形空格。

4. trim(‘字元1‘ from ‘字串2‘) 分別從字元2串的兩邊開始,刪除指定的字元1。

5. trim([leading | trailing | both] trim_char from string) 從字串String中刪除指定的字元trim_char。

  leading:從字串的頭開始刪除。

  trailing:從字串的尾部開始刪除。

  both:從字串的兩邊刪除。

 

select trim(‘  ffm   ‘) as name from dual;   

select ltrim(‘  ffm   ‘) as name from dual;   

select rtrim(‘  ffm   ‘) as name from dual;   

 

select trim(leading ‘f‘ from ‘ffmmff‘) from dual ;

select trim(trailing  ‘f‘ from‘ffmmff‘) from dual ;

select trim(both  ‘f‘ from ‘ffmmff‘)from dual ;

 

5、 ascii返回字串首字母的Ascii值

   select ascii(‘a‘) from dual

 

6、chr返回ascii值對應的字母

   select chr(97) from dual

 

7、length計算字串長度

     select length(‘ffm‘) from dual

8、initcap(首字母變大寫) ,lower(變小寫),upper(變大寫)

 select lower(‘fFM‘),upper(‘fFM‘),initcap(‘fFM‘) from dual;

 

9,Replace 替換字元

replace(‘將要更改的字串‘,‘被替換掉的字串‘,‘替換字串‘)

   select replace(‘ffm‘,‘m‘,‘1983‘)from dual;

 

10、translate替換指定字串

TRANSLATE(string,from_str,to_str)

TRANSLATE 是 REPLACE所提供的功能的一個超集。返回將(所有出現的)from_str中的每個字元替換為to_str中的相應字元以後的string。如果 from_str 比 to_str長,那麼在 from_str中而不在 to_str中的額外字元將從 string中被刪除,因為它們沒有相應的替換字元。to_str不可為空。

select translate(‘ffm‘,‘m‘,‘1983‘) from dual;

返回結果為:ff1

11、lpad [左添充] rpad [右填充](用於控制輸出格式)

 select lpad(‘ffm‘,8,‘=‘) s1, rpad(‘ffm‘,8,‘=‘)s2 from dual;

 

--常用數字、數學相關函數

1、取整函數(ceil向上取整,floor向下取整)

   select ceil(66.6) N1,floor(66.6)N2 from dual;

 

2、取冪(power)和求平方根(sqrt)

   select power(3,2) N1,sqrt(9) N2from dual;

 

3、求餘(mod)

   select mod(9,5) from dual;

 

4、返回固定小數位元 (round:四捨五入,trunc:直接截斷)

   select round(66.667,2)N1,trunc(66.667,2) N2 from dual;

 

5、返回值的符號(sign正數返回為1,負數為-1)

   select sign(-32),sign(293) fromdual;

 

6、返回x的絕對值ABS(x)         

SELECT ABS(3), ABS(-1) FROM DUAL; 

 

7、返回以x為底y的對數LOG(x,y)

8、返回x的y次冪POWER(x,y)

9、返回x的平方根 SQRT(x)

      SELECTLOG(10,100), POWER(3,3), SQRT(4) FROM DUAL;

 

Oracle 常用函數- 字元和數學函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.