В моей таблице у меня есть поле AMT, которое для импорта из excel-целей является char (10). Поле представляет собой либо сумму в долларах, разделенную запятыми, либо MM +. Я хочу, чтобы обновить новое поле под названием AMTBigint, который преобразует это поле в BIGINT (либо сумму в долларах или 5000001 для ММ +) У меня есть процедура:SQL Field set, основанный на другом поле
USE FI_external_trades;
GO
SELECT *, case
WHEN AMT = 'MM+' THEN 5000001
ELSE cast(replace(AMT, ',' , '') as integer)
END AS AMTBigint
From FI_ex_data;
GO
Выходные значения то, что я хочу, но они создают дубликат поле называется AMTBigint. Я попытался использовать set вместо этого, но не смог получить правильный синтаксис. Совет ценится.