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個字元