2017-07-10 4 views
-1

私はこれがうまく機能し、この、列を2つに分割しますか?

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]))) 

を使用しています。しかし、今問題は、コラムCentCenter1には、 ':'の代わりに ' - 'を持つ多くのエントリがあることです。今すぐ完全な列を分割する方法は?

+1

を' 'の両方を持つことができます[Center1をコスト]:' 'と - '。サンプルデータと期待される結果を現在の問題をカバーするデータで表示してください –

+0

charindexの前に ":"を ":"に置き換えて ":"と置き換えてください。 –

+0

したがって、コストセンター1では5000:gsasd、4534:fbgajf、35253-adsg、324-adsgのようなエントリがいくつかあります。 ':'および ' - 'の前の部分がコストになるようにデータを分割する必要がありますセンターとデータは両方ともProjectに移ります。 –

答えて

0

あなたはCost Center1に対する

UPDATE MyTable 

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

使用REPLACE機能の下に与えられているコードを持つすべてのデータを更新することができます: `だから、

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],'-',':')))) 
関連する問題