SQL道場 文字列関数 RTRIM関数

SQLで文字列の右側の空白を削除するRTRIM関数について記載しています。

対応データベースSQL Server MySQL PostgreSQL Oracle DB2 SQLite Access

RTRIM関数の文法

SELECT RTRIM(文字列) FROM テーブル
引数文字列文字列型
返値文字列型 編集後の文字列が戻ります。

SQL Server

引数文字列文字データまたはバイナリ データの式。また、定数、変数、または列を指定できます。
削除する文字列削除する必要がある文字を含む LOB 以外の任意の文字型。
返値文字列引数の型を持つ文字式を返します。入力文字列が NULL の場合は NULL を返します。

RTRIM関数は文字列の右側の空白を削除します。文字列の途中、左側の空白は削除しません。削除するのは半角スペースだけで全角スペースは削除しません。文字列の左側の空白削除する場合はLTRIM関数を使います。

ID文字列
1_□東京、奈良□_
2__東京、奈良__
3__東京、_奈良□
4__東京、_奈良□_
ID文字列
1_□東京、奈良□
2__東京、奈良
3__東京、_奈良□
4__東京、_奈良□

※_半角スペース、□全角スペース

この関数はマルチバイトセーフです。SQLServerでは、省略可能な 「削除する文字列」を引数を使うには、データベースの互換性レベルを 160 に設定する必要があります。

実行例

WORKテーブル

STR
_APPLE_GRAPE_BANANA__(半角スペース)
□旅行□計画□□(全角スペース)

MySQLの実行例

/* MySQL 文字列の右側の空白を削除するサンプル */
SELECT STR,RTRIM(STR) FROM testdb.WORK;
RTRIM関数サンプル実行結果

SQLServerの実行例

/* SQLServer 文字列の右側の空白を削除するサンプル */
SELECT [STR],RTRIM([STR]) FROM [testdb].[dbo].[WORK];
RTRIM関数サンプル実行結果

末尾から指定した文字列を削除

/* SQLServer 文字列の左側から指定した文字列を削除するサンプル */
SELECT RTRIM('.123abc.' , 'abc.');