我在數據庫中有一列(SQL Server 2005),數據在最後有一個「\ 0」。在SQL Server中查詢時,該字符不可見,也不「看起來」存在。當我查看我的C#代碼時,角色就在那裏。此人物在我們的網站上造成錯誤,我們需要將其從所有受影響的行中移除。Sql Server - 從數據中刪除結束字符串字符「 0」
是否有我可以寫入的sql查詢輕鬆地從受影響的所有記錄中刪除此字符?我可以獲取所有受影響的記錄,但我沒有辦法將記錄更新爲新值(沒有「\ 0」)。
UPDATE: 這似乎工作:
Select * from TABLE
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0
所以:
Update TABLE
SET naughtyField = SUBSTRING(naughtyField, 1, LEN(naughtyField) - 1)
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0
那麼,我該怎麼做?威爾的回答是不正確的,但他的幫助使我找到了解決辦法。 – Martin 2010-08-20 18:03:29
如果Will將他關於使用'SUBSTRING(naughtyfield,1,LEN(naughtyfield)1)'的評論轉移到他的答案中來解決問題嗎? – 2010-08-20 18:06:19
是的...雖然你的答案更優雅,但我不認爲我可以在Prod數據庫上創建一個功能,只是爲了「快速修復」。文書工作太多。 – Martin 2010-08-20 18:08:14