2010-09-01 8 views
0

J'ai une table appelée enregistrements qui a plusieurs colonnes, dont l'une est de téléphone qui représente un numéro de téléphone. Je peux exécuter cette requête pour voir les différents numéros de téléphone:requête mysql ne donne pas de résultats corrects

SELECT DISTINCT fromphone 
FROM records 

et montre les différents numéros de téléphone.

Cependant, si je lance cette requête:

SELECT * 
FROM records 
WHERE fromphone = '123-456-7890' 

où fromphone est un numéro de téléphone dans la table, aucun résultat se sont retournés.

+1

Quel est le type de données de la colonne de téléphone? S'il vous plaît poster le schéma de votre table. –

+1

Peut-être que c'est le format de votre numéro de téléphone est stocké et donc une correspondance exacte n'est pas trouvée. Pourquoi n'utilisez-vous pas - SELECT * FROM enregistrements WHERE fromphone LIKE '% %' – pavanred

+0

Pour les espaces de début et de fin dans vos données, vous pouvez même essayer - WHERE LTRIM (RTIRM (fromphone)) = '123-456-7890' – pavanred

Répondre

0

Etes-vous sûr qu'il y a un enregistrement avec le numéro de téléphone 123-456-7890 dans la table de base de données? Il y a peut-être un espace de début ou de fin.

Essayez d'utiliser l'opérateur LIKE et %%, fais comme ça:

SELECT * 
FROM records 
WHERE fromphone LIKE '%123-456-7890%' 
+0

Cela a fonctionné. Je ne sais pas pourquoi/comment les espaces de tête ou de queue sont là – JPC

1

Le scénario le plus probable est que la chaîne exacte, « 123-456-7890 » est pas dans cette colonne. Essayez d'utiliser LIKE au lieu de =, au cas où il y a des espaces supplémentaires ou quelque chose qui fait que l'égal ne correspond pas au numéro de téléphone.

0

Si vous avez leader/espaces de fin, vous pouvez simplement utiliser TRIM()

SELECT * 
FROM records 
WHERE TRIM(fromphone) = '123-456-7890' 

En utilisant comme avec le leader et générique de fuite peut être très lent si vous avez beaucoup de lignes dans la table des dossiers parce que MySQL doit faire une analyse complète de la table quand vous faites cela.

Questions connexes