2017-08-24 58 views
-2

我有柱僱員和employeename查詢找到所有字符出現在字符串

ID Name 
1 Empee1 
2 Emp1 

我需要O/P爲

Name 
E - 3 m - 1 p - 1 1 - 1 
E - 1 m - 1 1 - 1 
+1

這不是一個簡單的SQL操作。而且,你的輸出格式不清晰。這是每行一列嗎?每計數一個單獨的列? –

+1

要問一個關於主題的問題,請閱讀[我可以問什麼主題](http://stackoverflow.com/help/on-topic) 和[需要避免什麼話題](https://stackoverflow.com/幫助/不要問) 和[如何問一個好問題](http://stackoverflow.com/help/how-to-ask) 和[完美的問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question /) 以及如何創建[最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) 和[take tour] (http://stackoverflow.com/tour) **我們非常樂意幫助您修復您的代碼,但我們不會爲您編寫代碼** – RiggsFolly

+0

@RiggsFolly如果您願意幫助您通過評論 – Nick

回答

2

我不知道有一個「好」方式來做到這一點,但下面會給你你的結果:

SELECT 
    CASE WHEN [NAME] LIKE '%A%' THEN 'A - ' + CONVERT (VARCHAR, LEN([NAME]) - LEN(REPLACE ([NAME], 'A', ''))) 
    ELSE '' END, 
    CASE WHEN [NAME] LIKE '%B%' THEN ' B - ' + CONVERT (VARCHAR, LEN([NAME]) - LEN(REPLACE ([NAME], 'B', ''))) 
    ELSE '' END, 
    ... 
    ... 
    CASE WHEN [NAME] LIKE '%Z%' THEN ' Z - ' + CONVERT (VARCHAR, LEN([NAME]) - LEN(REPLACE ([NAME], 'Z', ''))) 
    ELSE '' END, 
    CASE WHEN [NAME] LIKE '%0%' THEN ' 0 - ' + CONVERT (VARCHAR, LEN([NAME]) - LEN(REPLACE ([NAME], '0', ''))) 
    ELSE '' END, 
    ... 
    ... 
    CASE WHEN [NAME] LIKE '%9%' THEN ' 9 - ' + CONVERT (VARCHAR, LEN([NAME]) - LEN(REPLACE ([NAME], '9', ''))) 
    ELSE '' END 
FORM [Your TABLE name]; 
+0

Tanx @Gez Jones – Nick

相關問題