Как я могу обновить числовой столбец, получая значения из другого столбца nvarchar? - PullRequest
0 голосов
/ 23 декабря 2019

Я хотел бы скопировать данные одного столбца nvachar в другой десятичный столбец на том же сервере таблицы / sql. Но я получаю сообщение об ошибке типа «Ошибка преобразования типа данных nvarchar в числовой». Есть ли способ исправить запрос? Можете ли вы дать мне идею? Заранее спасибо ..

Update OFFER_REVIEW SET
SUM_NEW = (Select CONVERT(DECIMAL(18,0),SUM) from OFFER_REVIEW b where OFFER_REVIEW.id = b.id) 

1 Ответ

2 голосов
/ 23 декабря 2019

Это редактирование моего первоначального ответа, которое учитывает вашу реальную проблему, а именно то, что у вас, похоже, есть текст числовых данных в некоторой локали, в которой разделитель тысяч является точкой, а разделитель десятичного разделителяэто запятая. Вы можете попробовать использовать TRY_PARSE с аргументом локали:

UPDATE OFFER_REVIEW
SET SUM_NEW = TRY_PARSE(SUM AS DECIMAL(18,0) USING 'El-GR');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...