3 votes

SQL LIKE ne retourne pas le bon résultat

J'ai une table Personne avec Nom et Prénom.

Considérez l'enregistrement suivant où

Prénom == 'Pete' et Nom de famille == 'Aaaa'

Lorsque j'exécute les déclarations de sélection suivantes:

select * from Personne where Prénom='Pete' et Nom de famille like 'a%' -- 0 enregistrement renvoyé
select * from Personne where Prénom='Pete' et Nom de famille like 'aa%' -- 1 enregistrement renvoyé
select * from Personne where Prénom='Pete' et Nom de famille like 'aaa%' -- 0 enregistrement renvoyé
select * from Personne where Prénom='Pete' et Nom de famille like 'aaaa%' -- 1 enregistrement renvoyé

Lorsque j'exécute ceci dans SQL Fiddle - 1 enregistrement est renvoyé pour chaque sélection comme il se doit requête SQL Fiddle

Quelqu'un a des idées?

2voto

Roman Pekar Points 31863

Essayez ceci

select * from Person where FirstName='Pete' and LastName collate Latin1_General_CI_AS like 'a%'
select * from Person where FirstName='Pete' and LastName collate Latin1_General_CI_AS like 'aa%'
select * from Person where FirstName='Pete' and LastName collate Latin1_General_CI_AS like 'aaa%'
select * from Person where FirstName='Pete' and LastName collate Latin1_General_CI_AS like 'aaaa%'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X