我們有下面的查詢,用於替換備註字段中的任何&,其中包含HTML等效項(&)。在撰寫時,我們並不認爲該字段中還有可能以「&」開頭的其他HTML標籤(即— "等)。既然我們必須確保所有的&符號是單獨使用時的HTML等價物,而不是另一個標籤的一部分,我們必須跳過那些在另一個標籤中的部分。也就是說,最短的HTML標籤可以以&開頭,似乎是3個字符,最長的似乎是6個字符,所以& _ _ _;到& _ _ _ _ _ _;在長度...有沒有更新where子句的任何想法,以便它不更新任何&這是繼續與「;」在接下來的4-7個字符後&?謝謝。SQL替換WHERE子句
UPDATE STOCKMEM
SET INETFDESC = CAST(
REPLACE(
REPLACE(
CAST(INETFDESC as NVarchar(MAX))
,'&','&')
, '&', ,'&')AS NText)
WHERE INETFDESC LIKE '%&[^amp;]%'
您是否考慮過使用RegEx? http://stackoverflow.com/questions/8928378/using-regex-in-sql-server – Svek
不知道如果這是一個選項,但如果我有這個問題,我會用一個C#腳本任務使用SSIS – RoundFour
這些事情通常使用編程語言,然後在sql中處理得更好。 – ATC