ここに次のようなデータがあります。
'US ' -- (5 spaces)
このようなレコードが 300 件以上ありますが、これらの 5 つのスペースを取り除く方法はありますか?
とを使用RTRIM
しLTRIM
て、末尾または先頭のスペースを削除できます。
レコードを選択するだけの場合:
SELECT RTRIM(State) AS State
FROM YourTable
テーブルを更新してスペースを削除する場合:
UPDATE YourTable
SET State = RTRIM(State)
RTRIM
文字列の後の末尾の空白を削除するために使用します。
tbl1からRTRIM(col1)を選択します
さらに、を使用LTRIM
して先頭の空白を削除できます。
私の知る限り、この関数はSQL Server、Oracle、MySQL、およびPL/SQLで機能します。
ほとんどのデータベースは、RTRIM() または TRIM() 関数をサポートしています。
スペースを空の文字列に置き換えることもできます。
select replace('abcde ', ' ', '')
(replace 関数は、別のデータベースでは別の名前で呼ばれる場合があります。)
もう 1 つの可能性は、基になる型が VARCHAR ではなく CHAR であるということです。char(7)
あなたの例では、列はではなくとして宣言されている可能性がありますvarchar(7)
。その場合、値が 7 文字にパディングされるため、スペースを削除できません。
この場合の最善の方法は、定義を varchar(7) に変更することです。