sql >> Database >  >> RDS >> Mysql

Hoe we de domeinnaam kunnen vinden met MySQL en reguliere expressie

In MySQL , reguliere expressies kunnen overeenkomen, maar geen subtekenreeksen retourneren.

U kunt SUBSTRING_INDEX . gebruiken :

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

, het is echter niet veilig voor protocolvoorvoegsels.

Als u een combinatie gebruikt van een URL met en zonder voorvoegsel 's, gebruik dit:

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. Hoe maak je voorbereide statements met de mysql2 gem?

  2. Hoe MySQL innodb op te lossen Wachten op vergrendeling van tabelmetadata op TRUNCATE TABLE?

  3. ODP.NET-verbinding pooling:hoe weet u of een verbinding is gebruikt?

  4. mysql-hulpprogramma voor querycontrole