Ich habe für 2 volle Tage beschäftigt gewesen, eine Lösung für mein Problem zu finden. Ich habe eine große Datenbank und möchte eine Reihe von Zahlen innerhalb einer Spalte ersetzen.SQL Replace feste Länge, verschiedene numerische Werte in der Spalte TEXT
Die Spalte enthält Text und in diesem Text das Format FPC1234567890
. Das einzige Ding ist: die Zahlen sind immer unterschiedlich (aber immer 10 in der Länge), die 3 Buchstaben sind immer das selbe.
Ich versuchte dies:
update [tablename]
SET columnname =
CAST(REPLACE(CAST(columnname as NVarchar(4000)),
'FPC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]', 'newclientnumber') AS NText)
Dies funktioniert nicht, da die Platzhalter mit der Funktion ersetzen nicht funktionieren, es funktioniert, wenn ich in einer der richtigen Zahlen geben Sie in der Spalte befinden.
finde ich, was ich mit diesen aktualisieren:
SELECT * FROM Tablename
WHERE columnname LIKE '%FPC[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%'
Markieren Sie die von Ihnen verwendeten dbms. (sql-server vielleicht?) – jarlh