sql >> Databasteknik >  >> RDS >> Mysql

Hur vi kan hitta domännamn med MySQL och reguljära uttryck

I MySQL , reguljära uttryck kan matcha men inte returnera delsträngar.

Du kan använda SUBSTRING_INDEX :

SELECT  SUBSTRING_INDEX('www.example.com', '/', 1)

, dock är det inte säkert för protokollprefix.

Om du använder en blandning av URL med och utan prefix 's, använd detta:

SELECT  url RLIKE '^http://',
        CASE
        WHEN url RLIKE '^http://' THEN
                SUBSTRING_INDEX(SUBSTRING_INDEX(url, '/', 3), '/', -1)
        ELSE
                SUBSTRING_INDEX(url, '/', 1)
        END
FROM    (
        SELECT   'www.example.com/test/test' AS url
        UNION ALL
        SELECT   'http://www.example.com/test'
        ) q


  1. Hur visar man radnummer i PostgreSQL-fråga?

  2. Hur man filtrerar frågeresultat i PostgreSQL

  3. Oracle lagrad procedur med parametrar för IN-sats

  4. Fel vid kontroll av PDO-förberedda uttalanden