Как изменить тип данных столбца в таблице SQL с integer на decimal
Я назначил тип данных одного из столбцов таблицы, которую я создал как int
. Моя проблема в том, что он не показывает десятичные знаки, когда я запускаю запрос против него.
как исправить тип данных этого столбца, чтобы он принимал десятичные знаки?
таблица dbo.Budget
и соответствующий столбец называется ROE
.
4 ответов
легко-просто запустите эту инструкцию SQL
ALTER TABLE dbo.Budget
ALTER COLUMN ROE DECIMAL(20,2) -- or whatever precision and scale you need.....
посмотреть свободно документация MSDN на что именно точность, масштаб и длина в десятичных числах и какие диапазоны значений возможны
чтобы это было ясно сказано:
Если в таблице нет данных или не так много, то простой ALTER TABLE
заявление (как описано в других ответах здесь) в порядке.
но, если есть много данных (миллионы строк или, возможно, меньше в зависимости от размера таблицы) и/или много разногласий в таблице и не так много возможностей для полного окна простоя / обслуживания, то это требует другого подхода, такого как то, что я описал в этом разделе ответ: сужение типов данных на очень большой таблице.
вы можете выполнить эту простую инструкцию SQL
Alter table yourtable
Alter Column yourtable_column Decimal(10,2)
вы можете установить десятичную точность и масштабировать все, что вам нужно.