2013-04-09 60 views
0

我需要用'X'查找並替換表中的所有'x',但僅在某些情況下(即x接近[0- 9]。在第一個匹配項中查找並替換表列中的部分字符串

這是我的代碼到目前爲止,但是當我執行它,它替換所有出現

update [tCustItems] 
set  [CustLongDesc] = replace([CustLongDesc], 'x', ' X ') 
WHERE CustLongDesc LIKE '%[0-9]x%' 

This is the result I get... 
1/2-13 X 2.75 HE X TAP BOLT FULL THRD GR5 ZINC 
this is what I want... 
1/2-13 X 2.75 HEX TAP BOLT FULL THRD GR5 ZINC 

注意,六角,現在他X

什麼想法?

+0

正則表達式和clr。可能與PATINDEX和STUFF。 – Paparazzi 2013-04-09 18:45:59

+0

我是一個SQL newby ....你可以舉個例子嗎? – DiggDev 2013-04-09 18:50:27

+2

如果是一次性練習,我只需手動運行一些簡單的10次(用'0 X'代替'0x',用'1 X'代替'1'等),然後完成它:) – 2013-04-09 19:09:29

回答

0

放入兩個空間,因爲沒有清晰顯示。
請不要要求第二個更多的代碼。
你問了一個例子,這是一個例子。

select stuff('1/2-13X2.75 HEX TAP BOLT FULL THRD GR5 ZINC', 
       patindex('%[0-9]X%','1/2-13X2.75 HEX TAP BOLT FULL THRD GR5 ZINC') + 1,0,' ') 
相關問題