11 messages in com.mysql.lists.mysql-deRe: Land und Netztyp einer kompletten...
FromSent OnAttachments
Bastian Schern07 Jan 2005 10:43 
Daniel Penning07 Jan 2005 11:32 
Bastian Schern07 Jan 2005 13:04 
Rene Fertig07 Jan 2005 13:33 
Eike Pierstorff07 Jan 2005 13:45 
Bastian Schern08 Jan 2005 16:14 
Bastian Schern08 Jan 2005 16:31 
Rene Fertig09 Jan 2005 04:59 
Bastian Schern11 Jan 2005 14:51 
Rene Fertig12 Jan 2005 01:43 
Ulrich Kretschmer15 Jan 2005 11:42 
Subject:Re: Land und Netztyp einer kompletten Telefonnummer herausfinden
From:Rene Fertig (re@renux.de)
Date:01/07/2005 01:33:16 PM
List:com.mysql.lists.mysql-de

Hi.

Am Freitag, 7. Januar 2005 20:33 schrieb Daniel Penning:

Ich hätte da eine einfache und eine performante Lösung anzubieten.

1. die einfache: SELECT * FROM vorwahl WHERE 493012345678 LIKE CONCAT(prefix,'%') ORDER BY prefix DESC LIMIT 1

Bei der Query kann leider kein Index verwendet werden. Für große Datenmengen wäre das nicht zu empfehlen.

Wenn man ein

AND prefix LIKE CONCAT(LEFT('493012345678', 2), '%')

in die Where-clause einfügt, greift auch wieder ein Index auf prefix. Wenn der kleinste prefix mehr als 2 Stellen hat, dann diese Anzahl bei LEFT verwenden.

Bei mir ist prefix dann vom Typ char, wenn er unbedingt int o.ä. sein muss, muss u.U. mit LEFT('493012345678', 2)*1 ein Typecast gemacht werden.

Ciao, René

----------------------------------------------------------------------