トップDML文字列関数 ≫ 文字列の左端や右端にある空白を削除する

文字列の左端や右端にある空白を削除する

文字列の左端や右端に余分な空白が付属することがあります.これらの空白を取り除くにはTRIM関数を使用します.TRIM関数はSQL92/99で既定されており,多くのDBMSがサポートしています. また,文字列の左端の空白だけを削除するLTRIM関数や,右端の空白だけを削除するRTRIM関数も存在します.これらの関数はSQL92/99では既定されていませんが,便利なので多くのDBMSが独自にサポートしています. 以下に各DBMSがどの関数に対応しているかを示します.

DBMSTRIMLTRIMRTRIM
Access
SQLServer×
Oracle
MySQL
PostgreSQL

ご覧のとおりSQLServerはLTRIM関数とRTRIM関数はサポートしていますが,なぜかTRIM関数をサポートしていません.また,AccessはTRIM関数の一部の機能のみサポートしています.(空白の除去を行うことはAccessでも可能です.)

TRIMによる空白の除去

TRIM関数の引数に文字列を指定すると,左右の空白を除去した文字列を取得することができます.

SQL

SELECT TRIM('  スヌーピー  ')

SQLの結果

SELECT TRIM('  スヌーピー  ')
スヌーピー|←文字列の終り

LTRIM,RTRIM

LTRIM関数を使用することで文字列の左端の空白を,RTRIM関数を使用することで文字列の右端の空白をそれぞれ除去することができます.

LTRIM

SELECT LTRIM('  スヌーピー  ')

LTRIMの結果

SELECT LTRIM('  スヌーピー  ')
スヌーピー  |←文字列の終り

RTRIM

SELECT RTRIM('  スヌーピー  ')

RTRIMの結果

SELECT RTRIM('  スヌーピー  ')
  スヌーピー|←文字列の終り

SQL サンプル

例として以下のテーブルの部署名の左端の空白を除去して取得します.

部署

部署コード部署名
A0001   人事部
A0002     総務部
A0003 財務部
A0004     営業部

SQL

SELECT 部署コード, LTRIM(部署名)
FROM 部署

SQLの結果

部署コードLTRIM(部署名)
A0001人事部
A0002総務部
A0003財務部
A0004営業部