Parse-Domäne, die aus einer bestimmten URL in T-SQL

Ich die Quelle dieser Antwort, wollte aber noch erweitern auf die Frage und konnte keine Lösungen hier auf stack oder durch google-Suche.

Substring domainname von URL-SQL

Grundsätzlich den obigen link löst mein problem mit einem einfachen URL-parsing "www.google.com" mit dem Ergebnis von google.

Was ich bin auf der Suche nach zu erweitern ist, dass die Lösung aus dem link oben hilft nicht mit url ' s wie 'www.maps.google.com" dass nur die Renditen Karten.

Was ich möchte, ist, es zu haben zurück 'google' aus der url "www.maps.google.com' oder return 'Beispiel' von 'www.test.example.com'.

Wenn jemand eine Lösung hat, ich wäre sehr dankbar.

Update: um genauer Zu sein werde ich auch brauchen-parsing auf second-level-domains, etc. 'www.maps.google.com.au' zurückkehren 'google'

Hier ist meine Sql-Funktion.

CREATE FUNCTION [dbo].[parseURL]  (@strURL varchar(1000))
RETURNS varchar(1000)
AS
BEGIN

IF CHARINDEX('.', REPLACE(@strURL, 'www.','')) > 0
SELECT @strURL = LEFT(REPLACE(@strURL, 'www.',''), CHARINDEX('.',REPLACE(@strURL,              'www.',''))-1)
Else
SELECT @strURL = REPLACE(@strURL, 'www.','')

RETURN @strURL
END
  • Wie würden Sie behandeln möchten, mit second-level-domains, z.B. www.google.com.sg oder bbc.co.uk?
  • Ja ich einfach aktualisiert, meine Frage zu include second-level-domains. Ich möchte auch return 'google' aus 'www.google.com.sg'
InformationsquelleAutor Adam N | 2012-12-05
Schreibe einen Kommentar