ORACLE DATABASE 12c SQL基礎(1Z0-061)の試験範囲でもある、
TRIM関数とBOTH、LEADING、TRAILINGのオプションを指定した場合の使用方法を紹介します。
目次
- TRIM関数の使い方
- 1.TRIM(文字列)の使用方法
- 2.TRIM(切り捨て文字 from 文字列)の使用方法
- 2.TRIM(LEADING | TRAILING | BOTH] 切り捨て文字 FROM 文字列)の使用方法
TRIM関数の使い方
TRIM関数は引数で指定した文字の前後にある半角スペースを削除する関数です。
また、オプション・引数を指定することで1文字の切り捨て文字を文字列の「前後」または「先頭1文字」または「末尾1文字」から削除することができます。
TRIM関数の書式
- TRIM(文字列)
- TRIM(切り捨て文字 from 文字列)
- TRIM(LEADING | TRAILING | BOTH] 切り捨て文字 FROM 文字列)
※指定できる切り捨て文字は1文字だけです。2文字以上を指定するとエラーとなります。
※LEADINGは先、TRAILINGは末尾、BOTHは両方という意味を意識すると覚えやすいです。
1.TRIM(文字列)の使用方法
「TRIM(文字列)」は文字列の前後の半角スペースを削除します。
ダミーテーブルのDUALを使って以下のSQLで動作を確認してみましょう。
--文字列の前後の半角スペースを削除する例 SELECT TRIM(' ORACLE 1Z0-061学習 ') FROM DUAL; --文字列の前後の全角スペースは削除されない例 SELECT TRIM(' ORACLE 1Z0-061学習 ') FROM DUAL;
文字列の前後の半角スペースは削除されますが、全角スペースは削除されません。
2.TRIM(切り捨て文字 from 文字列)の使用方法
「TRIM(切り捨て文字 from 文字列)」は指定した切り捨て文字(1文字)が文字列の前後にある場合に、その1文字を削除します。
※指定できる切り捨て文字は1文字だけです。
--文字列の前後の「a」を削除する例 SELECT TRIM('a' FROM 'a1101a') FROM DUAL; SELECT TRIM('a' FROM 'a5555') FROM DUAL; SELECT TRIM('a' FROM '5555a') FROM DUAL;
1つ目のSQLでは文字列の前後に「a」があるので、前後の「a」を削除。
2つ目のSQLでは文字列の先頭にある「a」を削除。
3つ目のSQLでは文字列の末尾にある「a」を削除。
切り捨て文字に2文字以上を指定した場合は、以下のようなエラーとなります。
SQL : ORA-30001: 切捨てセットの文字は1つにする必要があります
※エラーコード:ORA-30001の例
2.TRIM(LEADING | TRAILING | BOTH] 切り捨て文字 FROM 文字列)の使用方法
オプションのLEADING | TRAILING | BOTHを指定することで、文字列の先頭、もしくは末尾、もしくは前後両方から切り捨て文字を削除することができます。
- LEADINGを指定した場合は、文字列の先頭から切り捨て文字を削除します。
- TRAILINGを指定した場合は、文字列の末尾から切り捨て文字を削除します。
- BOTHを指定した場合は、文字列の前後から切り捨て文字を削除します。
LEADINGの使用例
--文字列の先頭の「a」を削除する例 SELECT TRIM(LEADING 'a' FROM 'a1101a') FROM DUAL;
TRAILINGの使用例
--文字列の末尾の「a」を削除する例 SELECT TRIM(TRAILING 'a' FROM 'a1101a') FROM DUAL;
BOTHの使用例
--文字列の前後の「a」を削除する例 SELECT TRIM(BOTH 'a' FROM 'a1101a') FROM DUAL;