2013-10-03 2 views
0

J'ai une base de données de numéros de téléphone. Il y a 2 tables; TEL_PREFIX & ABONNE.Rechercher une chaîne dans DB Table par son préfixe

TEL_PREFIX a une colonne PREFIX et SUBSCRIBER a une colonne NUMBER.

la relation est plusieurs à un entre SUBSCRIBER et TEL_PREFIX (TEL_PREFIX a beaucoup d'ABONNE).

Concaténer PREFIX avec NUMBER génère le numéro de téléphone réel de l'abonné.

Exemple: PREFIX=011442 et NUMBER=3452 par rapport entre ces 2 dossiers, va générer le nombre réel 0114423452

ma question:

Je le numéro complet en entrée (ex: 0114443452), et il n'y a pas d'enregistrement dans la table SUBSCRIBER avec le numéro 3452 et je veux obtenir l'enregistrement PREFIX qui gère ce nombre.

P.S: la longueur du préfixe n'est pas fixe.

Répondre

0

J'ai finalement trouvé la réponse. je LOCATE et ma requête sera:

select * from tel_prefix 
where locate(tel_prefix.prefix, phone) > 0 

phone est mon entrée.

Avez-vous des commentaires à propos de l'utilisation LOCATE.

+1

Ou 'POSITION()'. –

Questions connexes