我的輸入表是這樣的:刪除字符串 - SQL服務器
PARSED_VALUE2 | PARSED_VALUE4
---------------------|---------------
CHIN CONTACT | CHIN CONTACT
---------------------|----------------
HAMLET/PH | HAMLET/PH
----------------------|---------------
NameM( | NameM(
----------------------|----------------
我想輸出是這樣的:
PARSED_VALUE | PARSED_VALUE4
---------------------|---------------
CHIN CONTACT | CHIN
---------------------|----------------
HAMLET/PH | HAMLET
----------------------|---------------
NameM( | NameM
----------------------|----------------
但是,我得到的輸出:
The output I want is like this:
PARSED_VALUE | PARSED_VALUE4
---------------------|---------------
CHIN CONTACT | CHIN
---------------------|----------------
HAMLET/PH | HAMLET/PH
----------------------|---------------
NameM( | NameM(
----------------------|----------------
這是我寫的代碼:
SELECT *
, COALESCE(CASE WHEN PATINDEX('%' + '/' + '%',PARSED_VALUE2) >=1
THEN left(PARSED_VALUE2,CHARINDEX('/', PARSED_VALUE2)-1)
ELSE PARSED_VALUE2 END --HAMLET/PH
, CASE WHEN PATINDEX('%' + 'CONTACT' + '%',PARSED_VALUE2) >=1
THEN left(PARSED_VALUE2,CHARINDEX('CONTACT', PARSED_VALUE2)-1)
ELSE PARSED_VALUE2 END
, CASE WHEN PATINDEX('%' + '(' + '%',PARSED_VALUE2) >=1
THEN left(PARSED_VALUE2,CHARINDEX('(', PARSED_VALUE2)-1)
ELSE PARSED_VALUE2 END) PARSED_VALUE4
FROM #TEMPP
但是,我沒有得到想要的結果。這個查詢有什麼問題?
感謝您的回答。我有1mn這樣的記錄,實際上,PARSED_VALUE2是一個名字,在少數情況下,這個名字是姓氏。因此,我只希望將特殊字符保留爲姓氏(即A-Z或a-z)。在上面的查詢中也刪除了姓氏。任何其他的選擇? – AskMe
我按照您提供的樣本數據編寫的代碼 – 2017-08-17 14:29:43