テクニカル雑記帳です
SQLServerで文字列内全ての空白(半角・全角)を除去する
左右のスペースを除去する場合
LTRIM(' いろ はに ほへと ')
RTRIM(' いろ はに ほへと ')
この二つを合体させて、
LTRIM(RTRIM(' いろ はに ほへと '))
とする
この場合、 いろ はに ほへと
という文字列だった場合にいろ はに ほへと
と変換される。
今回はこれを、いろはにほへと
にしたい場合を考える。
中間のスペースを除去する
TRIM関数が使えればよいのだが、SQLServerにはそういうのがないのでREPLACE関数を代用する。
-- [半角スペース]を[文字列無し]に置換
REPLACE(' いろ はに ほへと ',' ','')
これを実行することで、目的の「いろはにほへと」が取得できる。
どうも半角スペースと全角スペースを区別していないようで、
-- [半角スペース]を[文字列無し]に置換
REPLACE(' いろ はに ほへと ',' ','')
-- [全角スペース]を[文字列無し]に置換
REPLACE(' いろ はに ほへと ',' ','')
上記のどちらを実行しても「いろはにほへと」が取得される。
区別するには正規表現とか使うのかしら???