У меня есть столбец varchar в таблице, куда я хочу вставить его данные в другой столбец той же таблицы, где его тип данных - деньги. Некоторые из значений в исходном столбце являются большими числами, которые я хочу игнорировать и просто хочу установить эти значения в NULL.
Я пробовал это:
UPDATE MyTable SET destCol = CASE WHEN IsNumeric(sourceCol) = 1 THEN sourceCol END
Но это выдает «Ошибка арифметического переполнения ...» при попытке проверить большие числа.
Я думаю, что мне может понадобиться какая-то функция или использовать блок try / catch в хранимой процедуре, чтобы получить требуемую функциональность.
UPDATE
Я забыл упомянуть, что некоторые значения в исходном столбце имеют текстовые значения, которые вообще нельзя конвертировать в деньги, для них также должно быть установлено значение NULL.