我有一个名称为DATA_STR
的列,并键入DATE
。我需要将列类型更改为VARCHAR2(50)
。我该怎么办?
答案 0 :(得分:1)
尽管不建议这样做,但是您可以按照以下步骤操作
添加新的(临时)列DATA_STR_VAR
使用带有to_char的旧列进行更新,例如:
update tableName set DATA_STR_VAR=to_char(DATA_STR, 'DD-MON-YYYY HH24:MI')
删除列DATA_STR
将DATA_STR_VAR
重命名为DATA_STR
答案 1 :(得分:1)
它已经写过,但是我重复一遍:不要这样做!
但是您是否可以考虑像这样使用虚拟列:
ALTER TABLE my_table ADD DATE_CHAR GENERATED ALWAYS AS (TO_CHAR(DATA_STR, 'YYYY-MM-DD HH24:MI:SS') VIRTUAL);