SQLServerで文字列内全ての空白(半角・全角)を除去する
あまりにも昔の同内容の記事にアクセスが続いていたので、放置していたところを描き増しました。以下をご参照ください。 →SQLServerで文字列内全ての空白(半角・全角)を除去する
左右のスペースを除去する場合
LTRIM(' いろ はに ほへと ')
RTRIM(' いろ はに ほへと ')
この二つを合体させて、
LTRIM(RTRIM(' いろ はに ほへと '))
とする
この場合、「 いろ はに ほへと 」という文字列だった場合に「いろ はに ほへと」と変換される。
今回はこれを、「いろはにほへと」にしたい場合を考える。
中間のスペースを除去する
TRIM関数が使えればよいのだが、SQLServerにはそういうのがないのでREPLACE関数を代用する。
-- [半角スペース]を[文字列無し]に置換 REPLACE(' いろ はに ほへと ',' ','')
これを実行することで、目的の「いろはにほへと」が取得できる。
どうも半角スペースと全角スペースを区別していないようで、
-- [半角スペース]を[文字列無し]に置換 REPLACE(' いろ はに ほへと ',' ','') -- [全角スペース]を[文字列無し]に置換 REPLACE(' いろ はに ほへと ',' ','')
上記のどちらを実行しても「いろはにほへと」が取得される。
区別するには正規表現とか使うのかしら???