Изменить таблицу добавить столбец с данными, заполненными из другого столбца - PullRequest
3 голосов
/ 25 января 2011

Я пытаюсь добавить столбец в таблицу, который должен взять значение varchar из существующего столбца в таблице и преобразовать его в int в формате if / then.

пример:

if size = d then size_int = 1
else if size = f then size_int = 2
else if size = t then size_int = 3
else if size = s then size_int = 4
else if size = m then size_int = 5
else if size = l then size_int = 6
else if size = h then size_int = 7
else if size = g then size_int = 8
else if size = c then size_int = 9

Если есть более простой способ сделать это, сначала добавив столбец, а затем изменив его, что также будет работать.

1 Ответ

3 голосов
/ 25 января 2011

Попробуйте это:

ALTER TABLE <YOUR_TABLE> ADD size_int INT;
UPDATE <YOUR_TABLE> SET size_int = 
CASE size 
    WHEN 'd' THEN 1
    WHEN 'f' THEN 2
    WHEN 't' THEN 3
    WHEN 's' THEN 4
    WHEN 'm' THEN 5
    WHEN 'l' THEN 6
    WHEN 'h' THEN 7
    WHEN 'g' THEN 8
    WHEN 'c' THEN 9
    ELSE NULL
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...