TRIM 関数 functionsTRIM TRIM function
TRIMは文字式を引数にとる関数で、引数から前あるいは/および後の詰められた文字を取り除いた値を返します。省略可能な引数に文字を指定できて、この文字は取り除かれる、前あるいは後、あるいはその両方にある詰められた文字です。
構文x TRIM( [ trimOperands ] trimSource)

trimOperands ::= { trimType [ trimCharacter ] FROM | trimCharacter FROM } trimType ::= { LEADING | TRAILING | BOTH } trimCharacter ::= 文字式 trimSource ::= 文字式

trimTypeが指定されなかった場合、既定でBOTHとみなされます。trimCharacterが指定されなかった場合、既定で空白文字(' ')とみなされます。trimCharacterの値は以下のいずれかに評価されなければなりません。

  • 長さ一文字の文字列あるいは
  • NULL

trimCharactertrimSourceがNULLと評価される場合、TRIM関数の結果はNULlです。さもなければTRIM関数の結果は以下のいずれかになります。

  • trimTypeがLEADINGなら、結果はtrimSourceの値の前からtrimCharを取り除いた値です。
  • trimTypeがTRAILINGなら、結果はtrimSourceの値の後ろからtrimCharを取り除いた値です。
  • trimTypeがBOTHなら、結果はtrimSourceの値の前*と*後からtrimCharを取り除いた値です。

trimSourceのデータ型がCHARあるいはVARCHARなら、TRIM関数の返り値の型はVARCHARです。それ以外の場合、TRIM関数の返り値の型はCLOBです。

-- 'derby'を返します。(空白はありません。) VALUES TRIM(' derby ')

-- 'derby'を返します。 (空白はありません。) VALUES TRIM(BOTH ' ' FROM ' derby ')

-- 'derby 'を返します。 (末尾に空白があります。) VALUES TRIM(LEADING ' ' FROM ' derby ')

-- ' derby'を返します。 (先頭に二つ空白があります。) VALUES TRIM(TRAILING ' ' FROM ' derby ')

-- NULLを返します。 VALUES TRIM(cast (null as char(1)) FROM ' derby ')

-- NULLを返します。 VALUES TRIM(' ' FROM cast(null as varchar(30)))

-- ' derb'を返します。(先頭に空白がありあmす。) VALUES TRIM('y' FROM ' derby')

-- trimCharacterには一文字しか指定できないのでエラーとなります。 VALUES TRIM('by' FROM ' derby')