我有超過400萬行的表,並且在一列中意外地存在比需要更多的數據。從SQL Server數據庫的字段中刪除最後N個字符
例如,而不是ABC
有ABC DEFG
。
如何使用TSQL刪除N個符號?請注意,我想從數據庫中刪除這些字符,而不僅僅是選擇子字符串。謝謝
我有超過400萬行的表,並且在一列中意外地存在比需要更多的數據。從SQL Server數據庫的字段中刪除最後N個字符
例如,而不是ABC
有ABC DEFG
。
如何使用TSQL刪除N個符號?請注意,我想從數據庫中刪除這些字符,而不僅僅是選擇子字符串。謝謝
UPDATE mytable SET column=LEFT(column, LEN(column)-5)
從列(在mytable的每一行)
我得到了答案我自己的問題刪除最後5個字符,螞蟻是這樣的:
select reverse(stuff(reverse('a,b,c,d,'), 1, N, ''))
其中N是要刪除的字符數。這避免了編寫複雜的列/串兩次
你可以使用SUBSTRING做到這一點:
UPDATE表SET列= SUBSTRING(柱,0,LEN(列)+ 1 - N)
中移除了列中每行的最後N個字符
這應該做到這一點,從左側刪除字符或刪除多餘的字符。
lEFT(columnX,LEN(columnX) - 1) AS NewColumnName
當我根據您的答案使用多個更新語句。它適用於第一次更新語句和其他我得到的錯誤:傳遞給LEFT或SUBSTRING函數的長度參數無效。請幫忙 –