2017-12-18 1 views
0

Ich versuche nach Domänen mit einem Schlüsselwort, z. 'reisen' und würde Ergebnisse wie 'summertravel.com', 'besttravel.net' liefern wollen. Allerdings, wenn ich für das Ende der Domäne suchenSuche nach einer Sub-Zeichenfolge am Ende einer Zeichenfolge in einer SQL-Abfrage

SELECT * FROM `domains` WHERE `domain_name` LIKE '%com' ORDER BY domain_name ASC 

dann alle seine suchen gehen ist die TLD, die immer sein wird, .com, .net, etc, nicht den tatsächlichen Domain-Namen. Ich habe begrenztes Wissen, wenn es um SQL-Abfragen geht, aber ich denke, dass es eine Art von Regex geben kann, die die Zeichenfolge bis zum ersten "." Finden kann, und nach dem dieser Zeichenfolge suchen.

Ist das möglich? Gibt es einen leichteren Weg?

Antwort

1

Verwenden Sie diese Abfrage:

SELECT * FROM DOMAINS WHERE DOMAIN_NAME LIKE '%travel.%' 
+0

einfach und effektiv – Source

-1

Verwenden REGEXP wie unten:

SELECT * FROM `domains` WHERE `domain_name` REGEXP 'travel' ORDER BY domain_name ASC 

Abfrage alle Namen zu finden, die 'Reise' enthalten

Ich hoffe, dass es

helfen
+0

'REGEXP' ist oft langsamer als' LIKE'. –

+0

Dann haben Sie die Wahl, LIKE anstelle von REGEXP zu verwenden –

Verwandte Themen