2016-11-23 2 views
-1

Ich möchte Servername von String innerhalb der Spalte.
exGet Server-Name von Server-Pfad von SQL-Tabelle Spalte

CREATE TABLE #Sample(ServerPath varchar(50)) 
    GO 
    INSERT INTO #Sample (ServerPath) VALUES ('\\TestServer1\Test') 
    INSERT INTO #Sample (ServerPath) VALUES ('\\TestServer2\Test') 
    INSERT INTO #Sample (ServerPath) VALUES ('\\TestServer3\Test') 
INSERT INTO #Sample (ServerPath) VALUES ('TestServer4) 
    SELECT * FROM #Sample 
    GO 
    DROP TABLE #Sample`enter code here` 

Ich möchte eine Ausgabe wie Zeichenfolge zwischen doppelten Schrägstrich zum ersten Schrägstrich

TestServer1 
TestServer2 
TestServer3 

welche SQL-Befehl in SQL ausführen oder einen regulären Ausdruck, die mich erwartete Ergebnis.

Antwort

1

Dies muss nicht regex sein (gemäß Ihrem Tag). Benutze einfach so etwas.

CREATE TABLE #Sample(ServerPath varchar(50)) 
INSERT INTO #Sample (ServerPath) 
VALUES 
('\\TestServer1\Test') 
,('\\TestServer2\Test') 
,('\\TestServer3\Test') 

SELECT 
SUBSTRING(ServerPath,3,CHARINDEX('\',ServerPath,3)-3) Result 
FROM #Sample 

Result 
TestServer1 
TestServer2 
TestServer3 

Dies wird unter der Annahme, dass es immer mit doppelter Backslash beginnt

Wenn Sie Daten ohne Schrägstriche dann diese haben verwenden zuerst zu überprüfen;

CREATE TABLE #Sample(ServerPath varchar(50)) 
INSERT INTO #Sample (ServerPath) 
VALUES 
('\\TestServer1\Test') 
,('\\TestServer2\Test') 
,('\\TestServer3\Test') 
,('TestServer4') 

SELECT 
CASE 
    WHEN CHARINDEX('\\',ServerPath) = 0 
     THEN ServerPath 
    ELSE SUBSTRING(ServerPath,3,CHARINDEX('\',ServerPath,3)-3) 
END Result 
FROM #Sample 
GO 
DROP TABLE #Sample 

Result 
TestServer1 
TestServer2 
TestServer3 
TestServer4 
+0

Hallo @Rich, Danke dir, aber es gibt mir folgendes Fehler. "Ungültiger Längenparameter, der an die LEFT- oder SUBSTRING-Funktion übergeben wurde." – Aamir

+0

Haben Sie Daten, die keine umgekehrten Schrägstriche enthalten? Auch alle Daten, die nicht mit einem doppelten Backslash beginnen? –

+0

Ja, ich habe einige Daten wie D: \ TestFolder in derselben Spalte – Aamir

Verwandte Themen