私は問題があります。MsSQLの特定の置換方法は?
2で始まり2で終わり、2が内側になるすべての列を置き換えたいとします。 たとえば、私の列の場合。
[番号]
1、2、22、33、4、5
2、3、42、25、6
12、28、62、2
私はここではXで(ない22や25など) "のみ2" を置き換えたい
は私のクエリです:
UPDATE mytable
set Numbers = replace(Numbers, ',2', ',X') WHERE Numbers like '%,2'
UPDATE mytable
set Numbers = replace(Numbers, ',2,', ',X,') WHERE Numbers like '%,2,%'
UPDATE mytable
set Numbers = replace(Numbers, '2,', 'X,') WHERE Numbers like '2,%'
しかし出力は真ではありません。このコードは、列の2つをXで置き換えます。
誰でも手伝ってください。真のクエリを書くにはどうすればいいですか?以下のよう
は自分を支持していますデータベースを正規化します。 [データベース列に区切られたリストを格納するのは本当に悪いですか?](http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-that -bad)ここで受け入れられた答えはなぜそれが悪いのかを詳しく説明しています。 –
できません。私はこのデータベースを作成していないので、私が今言ったようにただ変更するだけです。 – pseudocode
あなたの与えられたデータに基づいて期待される出力はどれでしょうか – StackUser