2017-04-12 5 views
0

内の特定の文字の後に文字列を分割し、それは一種の近くに私が望んでいたものとされるが、非常に完璧ではない方法。私はこれを見つけた私は、SQL Serverのスタジオマネージャー2014</p> <p>で働いていますSQL Serverの

Col2 = RIGHT([HospCode],LEN([HospCode])-CHARINDEX('.',[HospCode])) 

私のデータは、この

ABC.FRED.123
のように見えるABC.STEVE
が ABC.SUSAN
ABC.TED.4456
ABC.WILL
ABC.TABITHA.11
ABC.TODD

「ABC」を取り除きたい。それが存在する場合は「.xxx」ナンバーセクションが表示され、名前セクションのみが表示されます。だから私は私の最終的な出力のようなものになりたい:STEVE


FRED
SUSAN
TED
WILL
タビサ
TODD

誰でも助けることはできますか?前もって感謝します!

答えて

2

一つの簡単なアプローチは、リバース()(または2)

名は必ず二、三の二になりますので、我々は、文字列を逆にしてParseName()を使用することです、(ParseNameを適用...、2)、結果を逆に戻します。

Declare @YourTable table (HospCode varchar(50)) 
Insert Into @YourTable values 
('ABC.FRED.123'), 
('ABC.STEVE'), 
('ABC.SUSAN'), 
('ABC.TED.4456'), 
('ABC.WILL'), 
('ABC.TABITHA.11'), 
('ABC.TODD') 

Select A.* 
     ,Reverse(ParseName(Reverse(HospCode),2)) 
From @YourTable A 

戻り

HospCode  (No column name) 
ABC.FRED.123 FRED 
ABC.STEVE  STEVE 
ABC.SUSAN  SUSAN 
ABC.TED.4456 TED 
ABC.WILL  WILL 
ABC.TABITHA.11 TABITHA 
ABC.TODD  TODD 
+0

ジョン、 あなたは私の男をロック! NIは今日これを乱す4時間を費やしました!私はここで何が起こっているのか分からないので、Parse関数を読み上げます。 本当によろしくお願い致します。 – DoNotLikeIT

+0

@DoNotLikeIT満足しています。もう少し文脈を追加します –

関連する問題