2012-04-02 4 views
0

У меня возникли проблемы с вставкой данных из одного столбца в другой в пределах одной таблицы. У меня нет проблем с вставкой отдельных строк, но это не то, что я хочу. У меня есть столбец «PercentFull», я умножаю это значение на .01, чтобы получить десятичный эквивалент, который я хочу вставить в столбец, который я назвал «NewPercentFull». Я пробовал следующее:как вставить данные из одного столбца в другой сервер sql

insert into Table1 (NewPercentFull) 
select PercentFull * .01 
from Table 1 

Уже есть данные, которые заполняют столбец PercentFull. Однако после выполнения этого запроса я получаю NULL для каждого столбца в моей таблице, включая NewPercentFull. Кто-нибудь имеет представление о том, как достичь этого? Благодаря

ответ

5

Вставка данных из одного столбца, в другой, из одной и той же записи, будут включать в себя, используя UPDATE заявление:

UPDATE Table1 
SET NewPercentFull=PercentFull * .01 

С вашим запросом, вы должны были видеть двойное количество записей в Table1 после выполнение этого запроса.

Вы упомянули, что значения были NULL даже для NewPercentFull. Если это так, то я думаю, что мой запрос может также вернуть значения NULL. Это произойдет, когда PercentFull также будет NULL.

Чтобы избежать этого, только обновлять записи, которые не имеют значения для NULLPercentFull:

UPDATE Table1 
SET NewPercentFull=PercentFull * .01 
WHERE PercentFull IS NOT NULL 
+0

благодарит за ваш быстрый ответ. Да, вы правы, после выполнения этого запроса у меня было вдвое больше записей. Запрос, который вы предложили, кажется, находится на правильном пути, проблема в том, что они заполнены «0» вместо фактического значения. Я нахожу это странным, так как я знаю, что функция «percentfull * .01» работает, когда я использую оператор select as. – Rick

+0

@ Наверное, это звучит как проблема округления. Какие типы данных являются вашими столбцами? – Curt

+0

Я объявил оба, PercentFull и NewPercentFull как int. NewPercentFull - это новый столбец, который я создал, так что этот пуст (я не знаю, будет ли это иметь значение в статусе обновления) – Rick

Смежные вопросы