Update MyTable
Set MyField = Case
When Right(MyField,1) = ',' Then Substring( MyField, 1, Len(MyField) - 1 )
Else MyField
End
Кстати, другая альтернатива:
Update MyTable
Set MyField = Substring( MyField, 1, Len(MyField) - 1 )
Where Value Like '%,'
Тестовый скрипт:
Declare @TestValues Table ( Value nvarchar(100) not null )
Insert @TestValues(Value) Values( 'XYZZY' )
Insert @TestValues(Value) Values( 'PLUGH' )
Insert @TestValues(Value) Values( 'SpiffyValueWithComma,' )
Select Case
When Right(Value,1) = ',' Then Substring( Value, 1, Len(Value) - 1 )
Else Value
End
From @TestValues
Результаты:
XYZZY
PLUGH
SpiffyValueWithComma
Обновление
Одна из возможностей заключается в том, что трейлинг-значение не запятая, а запятая и пробел.Если это так, то вам нужно изменить ваш запрос следующим образом:
Update MyTable
Set MyField = Substring( MyField, 1, Len(MyField) - 1 )
Where Value Like '%,'
Or Value Like '%, '