2014-05-12 54 views
0

我從BES(黑莓企業服務器)獲取信息。我需要將顯示名稱字段從BES更改爲name.name格式。SQL選擇用字符替換嵌入的空間,然後刪除字符 -

顯示名稱顯示爲First First和First First Last-EXT。我需要使用它刪除任何姓氏後的短劃線,並添加一個。第一次和最後一次。

我試過使用REPLACE添加。 而且我已經試過CASE來刪除 - 並在它之後進行翻譯。但是,我怎樣才能將兩者結合成一個聲明呢?

,CASE WHEN CHARINDEX('-',[DisplayName])>0 THEN LEFT([DisplayName], CHARINDEX('-',[DisplayName])-1) ELSE [DisplayName] END 

,REPLACE([DisplayName], ' ','.') AS 'Display Name' 

編輯:添加的代碼塊

回答

0

嘗試下面的代碼。

你已經完成了所有的工作。

在您的case語句中,您返回所需的DisplayName(從lastname和' - '之後刪除' - '),所以使用該輸出並應用replace將空白替換爲'。'。

CASE WHEN CHARINDEX('-',[DisplayName])>0 
     THEN REPLACE(LEFT([DisplayName], CHARINDEX('-',[DisplayName])-1), ' ','.') 
     ELSE REPLACE([DisplayName], ' ','.') 
END 
+0

完美,謝謝! –

+0

這個答案出現在低質量的審查隊列中,大概是因爲你沒有解釋一些內容。如果你解釋這一點(在你的答案中),你更有可能得到更多的讚揚 - 而提問者實際上學到了一些東西! –

+0

添加說明。 – AJP