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関数を使います。
| → |
|
※_半角スペース、□全角スペース
SQLServerでは、省略可能な 「削除する文字列」を引数を使うには、データベースの互換性レベルを 160 に設定する必要があります。
実行例
WORKテーブル
STR | |
---|---|
_APPLE_GRAPE_BANANA_ | _(半角スペース) |
□旅行□計画□ | □(全角スペース) |
MySQLの実行例
/* MySQL 文字列の左側の空白を削除するサンプル */
SELECT STR,LTRIM(STR) FROM testdb.WORK;
SQLServerの実行例
/* SQLServer 文字列の左側の空白を削除するサンプル */
SELECT [STR],LTRIM([STR]) FROM [testdb].[dbo].[WORK];
先頭から指定した文字列を削除
/* SQLServer 文字列の左側から指定した文字列を削除するサンプル */
SELECT LTRIM('123abc.' , '123.');