8.5.9 TRIM
対象データの文字列から,削除文字に指定した文字を削除します。文字の削除方法を次のどれかから選択できます。
-
文字列の先頭から順に,削除文字に指定した文字を削除します。
-
文字列の末尾から順に,削除文字に指定した文字を削除します。
-
文字列の先頭および末尾の両方から順に,文字を削除します。
- 〈この項の構成〉
(1) 指定形式
スカラ関数TRIM::=TRIM(〔{削除規則 削除文字 |削除規則 |削除文字} FROM〕 対象データ) 削除規則::={LEADING|TRAILING|BOTH} 削除文字::=値式 対象データ::=値式
(2) 指定形式の説明
- 削除規則:
-
文字を削除する際の規則を指定します。指定を省略した場合,BOTHが仮定されます。
- LEADING:
-
LEADINGを指定した場合,文字列の先頭から順に削除文字と一致するかどうかをチェックし,削除文字と一致した場合はその文字を削除します。削除文字と異なる文字が現れた場合,そこで処理を終了します。
LEADINGを指定したときの実行結果の例を次に示します。
(例)
TRIM(LEADING '012' FROM '1020rst201') → 'rst201'
TRIM(LEADING 'a' FROM 'aaaadatabaseaaaa') → 'databaseaaaa'
TRIM(LEADING 'abc' FROM 'aabbccdatabase') → 'database'
TRIM(LEADING FROM '△△△database△') →'database△'
TRIM(LEADING '012' FROM 'database') → 'database'
(凡例)△:半角空白
- TRAILING:
-
TRAILINGを指定した場合,文字列の末尾から順に削除文字と一致するかどうかをチェックし,削除文字と一致した場合はその文字を削除します。削除文字と異なる文字が現れた場合,そこで処理を終了します。
TRAILINGを指定したときの実行結果の例を次に示します。
(例)
TRIM(TRAILING '012' FROM '1020rst201') → '1020rst'
TRIM(TRAILING 'a' FROM 'aaaadatabaseaaaa') → 'aaaadatabase'
TRIM(TRAILING 'abes' FROM 'aabbccdatabase') → 'aabbccdat'
TRIM(TRAILING FROM '△△△database△') →'△△△database'
TRIM(TRAILING '012' FROM 'database') → 'database'
(凡例)△:半角空白
- BOTH:
-
BOTHを指定した場合,文字列の先頭および末尾の両方から順に削除文字と一致するかどうかをチェックし,削除文字と一致した場合はその文字を削除します。削除文字と異なる文字が現れた場合,そこで処理を終了します。
BOTHを指定したときの実行結果の例を次に示します。
(例)
TRIM(BOTH '012' FROM '1020r212st201') → 'r212st'
TRIM(BOTH 'a' FROM 'aaaadatabaseaaaa') → 'database'
TRIM(BOTH 'abces' FROM 'aabbccdatabase') → 'dat'
TRIM(BOTH FROM '△△△database△') →'database'
TRIM(BOTH '012' FROM 'database') → 'database'
(凡例)△:半角空白
- 削除文字:
-
対象データから削除する文字を指定します。
指定規則を次に示します。
-
削除文字は,値式の形式で指定します。値式については,「7.21 値式」を参照してください。
-
削除文字には,CHAR型またはVARCHAR型のデータを指定してください。
-
削除文字を省略した場合,削除文字に半角空白が仮定されます。
-
削除文字に?パラメタを単独で指定した場合,?パラメタに仮定されるデータ型はVARCHAR(32000)になります。
-
- 対象データ:
-
削除文字に指定した文字を削除するデータを指定します。
指定規則を次に示します。
-
対象データは,値式の形式で指定します。値式については,「7.21 値式」を参照してください。
-
対象データには,CHAR型またはVARCHAR型のデータを指定してください。
-
対象データには,?パラメタを単独で指定できません。
-
(3) 規則
-
実行結果のデータ型とデータ長を次の表に示します。
表8‒20 スカラ関数TRIMの実行結果のデータ型とデータ長 対象データのデータ型とデータ長
実行結果のデータ型とデータ長
CHAR(n)
VARCHAR(n)
VARCHAR(n)
(凡例)n:対象データの最大長
-
実行結果の値は,非ナル値制約なし(ナル値を許す)となります。
-
対象データまたは削除文字がナル値の場合,実行結果はナル値になります。
-
対象データが実長0バイトまたは実長0文字のデータの場合,実行結果は実長0バイトのデータになります。
-
対象データの文字列がすべて削除された場合,実行結果は実長0バイトのデータになります。
-
削除文字に実長0バイトまたは実長0文字のデータを指定した場合,実行結果の値は対象データとなります。
(4) 例題
- 例題
-
表T1のC2列の文字データから,先頭および末尾に付加されている数字を削除した結果を求めます。
SELECT "C1",TRIM(BOTH '0123456789' FROM "C2") FROM "T1"