という SQL Server テーブルの列に末尾のスペースがありますCompany Name
。
この列のすべてのデータには、末尾のスペースがあります。
それらをすべて削除したいのですが、末尾にスペースを入れずにデータを取得したいと考えています。
社名はこんな感じ"Amit Tech Corp "
会社名にしたい"Amit Tech Corp"
という SQL Server テーブルの列に末尾のスペースがありますCompany Name
。
この列のすべてのデータには、末尾のスペースがあります。
それらをすべて削除したいのですが、末尾にスペースを入れずにデータを取得したいと考えています。
社名はこんな感じ"Amit Tech Corp "
会社名にしたい"Amit Tech Corp"
末尾のスペースをトリミングするには、使用する必要があります
UPDATE
TableName
SET
ColumnName = RTRIM(ColumnName)
ただし、先頭と末尾のスペースをすべて削除する場合は、これを使用します
UPDATE
TableName
SET
ColumnName = LTRIM(RTRIM(ColumnName))
SQL Server は Trim() 関数をサポートしていません。
ただし、LTRIM() を使用して先頭のスペースを削除し、RTRIM() を使用して末尾のスペースを削除できます。
LTRIM(RTRIM(ColumnName)) として使用して、両方を削除できます。
update tablename
set ColumnName= LTRIM(RTRIM(ColumnName))
更新:2022年
私は7年前(2015年)にこの質問に答えました。当時、SQLサーバーにはトリミングを直接行う機能がありませんでした。
しかし、SQL Server 2017 から、Trim()関数が導入されました。
そのため、SQL Server 2017 以降のバージョンを使用している人なら誰でも、以下と同じことを簡単に行うことができます。
update tablename
set ColumnName= TRIM(ColumnName)
ただし、古いバージョンを使用する場合は、7 年前に述べた方法を引き続き使用する必要があります。
update MyTable set CompanyName = rtrim(CompanyName)
ETLを使用してExcelファイルからデータを抽出した後、同じ問題が発生し、最終的に解決策が見つかりました:
https://www.codeproject.com/Tips/330787/LTRIM-RTRIM-doesn-t-always-work
それが役に立てば幸い ;)
例:
SELECT TRIM(' Sample ');
結果:'Sample'
UPDATE TableName SET ColumnName = TRIM(ColumnName)
使用している SQL Server のバージョンによって異なります。
SQL Server 2008 r2、2012、および 2014 では、単純に使用できますTRIM(CompanyName)
他のバージョンでは、使用する必要がありますset CompanyName = LTRIM(RTRIM(CompanyName))