从SQL Server数据库中的字段中删除最后N个字符

see*_*ker 26 sql-server

我有超过400万行的表,并且意外地在一列中有超过需要的数据.

例如,而不是ABC存在ABC DEFG.

如何使用TSQL删除N个符号?请注意,我想从数据库中删除这些字符,而不仅仅是选择子字符串.谢谢

eri*_*xiv 63

UPDATE mytable SET column=LEFT(column, LEN(column)-5)
Run Code Online (Sandbox Code Playgroud)

从列中删除最后5个字符(mytable中的每一行)


Fer*_*res 12

我得到了我自己的问题的答案,蚂蚁这是:

select reverse(stuff(reverse('a,b,c,d,'), 1, N, ''))
Run Code Online (Sandbox Code Playgroud)

其中N是要删除的字符数.这样可以避免两次写入复杂的列/字符串