Ich habe ein Problem.Wie zu bestimmten ersetzen in MsSQL?
Ich möchte alle Spalten ersetzen, die mit 2 beginnen, mit 2 enden und 2 darin enthalten. Zum Beispiel für meine Spalte;
[Numbers]
1, 2, 22, 33, 4, 5
2, 3, 42, 25, 6
12, 28, 62, 2
ich möchte ersetzen "nur 2" (nicht 22 oder 25 etc.) mit X. Hier ist meine Frage:
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,%'
Aber Ausgabe ist nicht wahr. Dieser Code ersetzt alle 2 in der Spalte mit X.
Kann mir jemand helfen? Wie kann ich eine echte Abfrage schreiben?
Tun Sie sich selbst einen Gefallen und normalisieren Sie Ihre Datenbank. Lesen [Ist das Speichern einer begrenzten Liste in einer Datenbankspalte wirklich so schlimm?] (Http://stackoverflow.com/questions/3653462/is-storing-a-limited-list-in-a-database-column-really-that (Bad), wo die angenommene Antwort im Detail erklärt, warum es so schlecht ist. –
kann ich nicht. Ich habe diese Datenbank nicht erstellt und muss nur modifizieren, wie ich es vorhin gesagt habe. – pseudocode
Was wäre Ihre erwartete Ausgabe basierend auf Ihren gegebenen Daten – StackUser