Oracle меняет тип столбца с DATE на VARCHCAR2 - PullRequest
0 голосов
/ 29 октября 2018

У меня есть столбец с именем DATA_STR и типом DATE. Мне нужно изменить тип столбца на VARCHAR2(50). Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Уже было написано, однако я повторяю: не делай этого!

Но не могли бы вы подумать об использовании ВИРТУАЛЬНОЙ КОЛОННЫ так:

ALTER TABLE my_table ADD DATE_CHAR GENERATED ALWAYS AS (TO_CHAR(DATA_STR, 'YYYY-MM-DD HH24:MI:SS') VIRTUAL);
0 голосов
/ 29 октября 2018

Хотя это и не рекомендуется, вы можете выполнить шаги

  1. Добавить новую (временную) колонку DATA_STR_VAR

  2. Обновите его, используя старый столбец, с to_char например ::

    update tableName set DATA_STR_VAR=to_char(DATA_STR, 'DD-MON-YYYY HH24:MI')
    
  3. Отбрасывающая колонка DATA_STR

  4. Переименовать DATA_STR_VAR в DATA_STR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...