У меня есть стол с более чем 16 000 строк, изображающий деньги, причитающиеся по счетам клиентов. К сожалению, сумма задолженности была создана странным образом - денежные суммы хранятся как VARCHAR и на любое время, когда деньги обусловлено, знак минус справа от числа, как это:Преобразование нерегулярного Varchar в числовое
Amount
36.30
21.48-
132.65-
87.91-
1.20
У меня есть добавлен новый столбец в моей таблице называется Amount_num
, и я хотел бы сделать обновление к моему столу, что даст мне следующее:
Amount Amount_num
36.30 36.30
21.48- -21.48
132.65- -132.65
87.91- -87.91
1.20 1.20
Я попробовал следующий запрос обновления:
UPDATE [CHARGE_TABLE]
SET [Amount_num] = CAST ([Amount] as decimal (18,2))
Это дает мне «Ошибка преобразования типа данных varchar в числовой». Что я должен изменить?
Хотя это должно устранить проблему, показанную здесь, OP все еще может иметь проблемы, когда данные не соответствуют этому формату, а также нормальным номерам. Часто, когда varchar используется, когда его не должно быть, тогда мусор хранится. Я говорю об этом только потому, что ОП не отклонит ответ, если он все еще не работает. – HLGEM
Это действительно сработало! К счастью, данные были не такими грязными, как это могло быть, - ни слов, ни других символов, которые не принадлежали. Спасибо вам за помощь! – mdarr