萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> Oracle中相關函數說明

Oracle中相關函數說明

  3、round函數 ROUND(number, num_digits) 將number四捨五入到只有num_digits個小數位。 4、lpad、rpad函數 lpad()函數的用法: lpad函數將左邊的字符串填充一些特定的字符其語法格式如下: lpad(string,n,[pad_string]) string:可是字符或者參數 n:字符的長度,是返回的字符串的數量,如果這個數量比原字符串的長度要短,lpad函數將會把字符串截取成從左到右的n個字符; pad_string:是個可選參數,這個字符串是要粘貼到string的左邊,如果這個參數未寫,lpad函數將會在string的左邊粘貼空格。 例如: lpad('tech', 7); 將返回' tech' lpad('tech', 2); 將返回'te' lpad('tech', 8, '0'); 將返回'0000tech' lpad('tech on the net', 15, 'z'); 將返回'tech on the net' lpad('tech on the net', 16, 'z'); 將返回'ztech on the net' rpad()函數的用法: rpad函數將右邊的字符串填充一些特定的字符其語法格式如下: rpad(string,n,[pad_string]) string:可是字符或者參數 n:字符的長度,是返回的字符串的數量,如果這個數量比原字符串的長度要短,lpad函數將會把字符串截取成從左到右的n個字符; pad_string:是個可選參數,這個字符串是要粘貼到string的右邊,如果這個參數未寫,lpad函數將會在string的右邊粘貼空格。 例如: rpad('tech', 7); 將返回' tech' rpad('tech', 2); 將返回'te' rpad('tech', 8, '0'); 將返回'tech0000' rpad('tech on the net', 15, 'z'); 將返回'tech on the net' rpad('tech on the net', 16, 'z'); 將返回'tech on the netz' 5、ltrim、rtrim函數 ltrim(x,y) 函數是按照y中的字符一個一個截掉x中的字符,並且是從左邊開始執行的,只要遇到y中有的字符, x中的字符都會被截掉, 直到在x的字符中遇到y中沒有的字符為止函數命令才結束 .函數將109當成了三個字符以1,0,9在字符串開始直道出現不為1,0,9這三個字符中的任意一個開始截取;

SELECT LTRIM('1092002081100058424', '109') FROM dual
UNION ALL
SELECT LTRIM('1091000000002671251', '109') FROM dual
UNION ALL
SELECT LTRIM('1000000002671251', '1') FROM dual
UNION ALL
SELECT LTRIM('1000000002671251', '10') FROM dual

結果如下:

1 2002081100058424
2 2671251
3 000000002671251
4 2671251

  RTRIM(,)的意思是:

  首先從字符串'c1'右邊查找'c2'中的任意字符,此例為'w','q',直到'wfrqqww'右邊不為'w'和'q'字符為止

  SELECT RTRIM ('wfrqqww', 'qq') FROM DUAL查詢出來的數據是wfr,

  6、instr instr函數返回要截取的字符串在源字符串中的位置。 語法如下:

instr( string1, string2, start_position,nth_appearance ) [1] [2]

string1 源字符串,要在此字符串中查找。 string2 要在string1中查找的字符串 。 start_position 代表string1 的哪個位置開始查找。此參數可選,如果省略默認為1. 字符串索引從1開始。如果此參數為正,從左到右開始檢索,如果此參數為負,從右到左檢索,返回要查找的字符串在源字符串中的開始索引。 nth_appearance 代表要查找第幾次出現的string2. 此參數可選,如果省略,默認為 1.如果為負數系統會報錯。

注意:

  位置索引號從1開始。

  如果String2在String1中沒有找到,instr函數返回0。

  示例:

  SELECT instr('syranmo','s') FROM dual; -- 返回 1

  SELECT instr('syranmo','ra') FROM dual; -- 返回 3

  SELECT instr('syran mo','a',1,2) FROM dual; -- 返回 0 7、substr

  substr(字符串,截取開始位置,截取長度) //返回截取的字

  substr('Hello World',0,1) //返回結果為 'H' *從字符串第一個字符開始截取長度為1的字符串

  substr('Hello World',1,1) //返回結果為 'H' *0和1都是表示截取的開始位置為第一個字符

  substr('Hello World',2,4) //返回結果為 'ello'

  substr('Hello World',-3,3)//返回結果為 'rld' *負數(-i)表示截取的開始位置為字符串右端向左數第i個字符

copyright © 萬盛學電腦網 all rights reserved