2017-07-10 9 views
-1

ich dies verwenden,Spalte in zwei teilen?

ALTER Table Analytics.dbo.[Parent Table] 
ADD [Cost Center] AS Left([Cost Center1], Charindex(':', [Cost Center1])-1) 

ALTER Table Analytics.dbo.[Parent Table] 
ADD [Project] as Substring([Cost Center1], Charindex(':', [Cost Center1])+1, 
       len([Cost Center1])-Len(Charindex(':', [Cost Center1]))) 

Dieses gut funktioniert. Aber das Problem ist jetzt, dass die Spalte, CostCenter1, viele Einträge hat, die '-' anstelle von ':' haben. Wie spalte ich jetzt die komplette Spalte?

+1

'So [Kosten Center1]' können beide ':' und '- '. Beispieldaten und erwartetes Ergebnis mit Daten zu Ihrem aktuellen Problem anzeigen –

+0

Ersetzen Sie einfach "-" mit ":" vor dem Charindex mit ":". –

+0

Also, ich habe ein paar Einträge wie 5000: gsasd, 4534: fbgajf, 35253-adsg, 324-adsg in Cost Center1 Ich muss die Daten so teilen, dass der Teil vor ':' und '-' zu Kosten geht Center und Daten nach beiden gehen zu Project. –

Antwort

0

Sie können alle Daten mit dem Code aktualisieren, die unter

UPDATE MyTable 

SET columnName = REPLACE (columnName, '-', ':'); 
0

Verwenden REPLACE Funktion gegen Cost Center1 gegeben:

ALTER Table Analytics.dbo.[Parent Table] 
ADD [Cost Center] AS Left([Cost Center1], Charindex(':', REPLACE([Cost Center1],'-',':'))-1) 

ALTER Table Analytics.dbo.[Parent Table] 
ADD [Project] as Substring([Cost Center1], Charindex(':', REPLACE([Cost Center1],'-',':'))+1, 
       len([Cost Center1])-Len(Charindex(':', REPLACE([Cost Center1],'-',':'))))