SQL道場 文字列関数 LTRIM関数

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

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

LTRIM関数の文法

SELECT LTRIM(文字列) FROM テーブル

--SQL Server 2022 (16.x) より前の構文
SELECT LTRIM(文字列) FROM テーブル

--SQL Server 2022 (16.x) 以降の構文
SELECT LTRIM(文字列,「削除する文字列」) FROM テーブル
引数文字列文字列型
返値文字列型 編集後の文字列が戻ります。

SQL Server

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

LTRIM関数は文字列の左側の空白を削除します。文字列の途中、右側の空白削除しません。削除するのは半角スペースだけで全角スペースは削除しません。また、入力文字列が NULL の場合は NULL を返します。この関数はマルチバイトセーフです。

文字列の右側の空白を削除する場合はRTRIM関数を使います。

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

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

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

実行例

WORKテーブル

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

MySQLの実行例

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

SQLServerの実行例

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

先頭から指定した文字列を削除

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