oracle共通関数(1)

2661 ワード

1、指定した文字に対応する10進数を返す
select ascii('A') A,ascii('z') a,ascii('12')   ,ascii(' ') kg from dual;

2、指定した10進数に対応する文字を返す
select chr(65) A,chr(122) z from dual;

3、2つの文字列を接続する
select concat('  ','  ') constr from dual;--    

4、最初の文字を大文字にして文字列を返す
select initcap('boat') upperfirst from dual;--Boat

5、すべての文字を大文字にして文字列を返す
select upper('boat') upperall from dual t;--BOAT

6、すべての文字を小文字にして文字列を返す
select lower('BoaT') lowerall from dual;--boat

7、INSTR(str 1,str 2,a,b)関数
使用法:str 1にstr 2を含む位置を得る.
左側からチェックを開始し、開始位置はaであり、aが負の数であれば右側からスキャンを開始し、b回目の出現位置は戻される.
aとbはデフォルトで1に設定されており、str 1でstr 2が初めて現れる場所を返します.
select instr('zheshigeceshi','sh',-2,1) str from dual;--11
select instr('zheshigeceshi','sh',1,2) str from dual;--11

8、文字列長の取得
select length('boat') len from dual;--4

9、lpad(str,n,[pad_string])関数
パラメータstr:文字またはパラメータ
パラメータn:返される文字列の長さです.この数が元の文字列の長さより短い場合、lpad関数は文字列を左から右のn文字に切り取ります.
パラメータpad_string:stringの左側に貼り付ける文字列です.このパラメータが書かれていない場合、lpad関数はstringの左側にスペースを貼り付けます.
select rpad('boat',10,'*') from dual t;--boat******
select lpad('boat',10,'*') from dual t;--******boat

10、ltrim(x,y)関数
使用法:yの文字に従ってxの文字を1つずつ切り取り、左から実行します.
yにある文字に出会うと、xの文字が切り取られ、xの文字にyにない文字に出会うまで関数コマンドが終了し、rtrim(y,x)は同じです.
select ltrim('boat','bo') from dual;--at
select ltrim('booooobbbbobat','bo') from dual t;--at
select rtrim('boat','at') from dual;--bo
select rtrim('boaaaaaaaaatttttttaat','at') from dual;--bo

11、substr(string str,int a,int b)関数
パラメータ1:strで処理する文字列
パラメータ2:a文字列の開始位置(開始位置は0)を切り取り、負の値の場合は末尾から算出する
パラメータ3:b切り取った文字列の長さ、bが処理する文字列の長さを超えても、戻り結果に影響しない場合、システムは処理する文字列の最大長で返す
bを使用しない場合は、aから始まる残りのすべての文字列をとる
select substr('boatisgood',3,100) subs from dual;--atisgood
select substr('boatisgood',3) subs from dual;--atisgood
select substr('boatisgood',-3) subs from dual;--ood

12、置換関数
select replace('nba hupu         ','   ','BXJ') from dual;--nba hupu BXJ