J'ai été occupé pendant 2 jours pour trouver une solution à mon problème. J'ai une grande base de données et je veux remplacer un ensemble de nombres dans une colonne.SQL Remplacer la longueur fixe, différentes valeurs numériques dans la colonne TEXT
La colonne contient du texte et dans ce texte il a ce format FPC1234567890
. La seule chose est: les chiffres sont toujours différents (mais toujours 10 de longueur), les 3 lettres sont toujours les mêmes.
J'ai essayé ceci:
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)
Cela ne fonctionne pas, comme les jokers ne fonctionnent pas avec la fonction de remplacement, il ne fonctionne pas quand je tape dans l'un des numéros corrects résidant dans la colonne.
je peux trouver ce que je dois mettre à jour avec ceci:
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]%'
Marquez les dbms que vous utilisez. (sql-server peut-être?) – jarlh