Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/08/2008, 12h11   #1
Membre éprouvé
 
Inscription : janvier 2006
Messages : 510
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 510
Points : 438
Points : 438
Par défaut Supprimer les espaces d'une colonne au niveau de la requête SQL

Bonjour,

J'ai un petit probléme. J'ai besoin de faire une recherche d'un numéro de telephone en base (le numéro est une colonne de ma base). Le numéro est de la forme :
06 00 00 00 00 ou 06000000

J'aimerais pouvoir sortir le tuple contenant le numéro 06 00 00 00 00 quand la recherche se fait avec 06000000.

Code :
1
2
 
SELECT * FROM user WHERE phone = ????
je ne sais pas quoi mettre à la place de ??? pour qu'il ne prenne pas en compte les espaces dans la colonne phone. Peut être avec une expression réguliére ?
Shivan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2008, 15h15   #2
Membre confirmé
 
Homme
Inscription : janvier 2006
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations forums :
Inscription : janvier 2006
Messages : 227
Points : 239
Points : 239
Code :
SELECT * FROM user WHERE phone = REPLACE(phone,' ','')
xavier-Pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2008, 09h21   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2005
Messages : 59
Détails du profil
Informations personnelles :
Localisation : France, Marne (Champagne Ardenne)

Informations forums :
Inscription : octobre 2005
Messages : 59
Points : 11
Points : 11
Tiens, j'ai adopté un peu le même style pour mon problème de classement

Par contre, j'espère qu'au point de vue performances, l'ajout de ce REPLACE n'est pas trop pénalisant.
JYves est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2008, 16h03   #4
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
Citation:
Envoyé par JYves Voir le message
Par contre, j'espère qu'au point de vue performances, l'ajout de ce REPLACE n'est pas trop pénalisant.
Si la table est volumineuse, si ça peut être très pénalisant
Une solution pour limiter les problèmes de performances est de créer un index non pas sur phone mais sur REPLACE(phone,' ','')
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h53.


 
 
 
 
Partenaires

Hébergement Web