J'ai une base de données qui a été migrée d'Oracle vers SQL Server. L'une des tables a données comme:corriger les mauvais caractères dans SQL?
Name
steve
mark
john
matt
quand je fais cette requête:
select * from [TABLE] where Name = 'steve'
rien est retourné. Si j'utilise SSMS et modifiez la colonne en l'annulant, puis en retapant les données, la requête fonctionne. Ainsi, quelque chose se trouve dans cette chaîne de caractères à la suite de la migration qui n'est pas affichée.
Y a-t-il un moyen d'afficher les données les plus "brutes" de la colonne afin que je puisse essayer de comprendre ce que ces mauvaises données sont?
Merci
MISE À JOUR:
J'ai changé ma requête un peu et trouvé quelque chose d'intéressant:
SELECT LEN(RTRIM(Name)) from [Table]
et ce que je suis arrivé était longueurs plus longues que 5,4,4,4 ... donc il y a certainement des caractères après les noms mais ils ne sont pas des espaces.
Malheureusement j'ai des valeurs telles que:
steve
steve1
steve12
donc je ne peux pas simplement aller
where NAME like 'steve%'
car il mal saisir les trois lignes.
MISE A JOUR (SOLUTION):
Eh oui, il était un peu char (13) + 10 .. de je la tâche de générer des scripts dans SSMS pour générer des inserts et il a montré quelques sauts de ligne. Je viens de faire une mise à jour avec REMPLACER et tout va bien. Merci à tous!
Etes-vous sûr que ce n'est pas simplement un problème d'espace après les noms? – Oded
Je crois que la question de l'espace n'est pas un problème. Si je change la requête à 'select * from [TABLE] où RTRIM (name) =' steve '' cela ne fonctionne toujours pas –