添加新列并使用Oracle SQL中的另一列的一部分填充它

und*_*ior 4 sql oracle

我想在我的表中添加一个新列,并用另一列中的最后3个字符填充它们,两个都是varchar,源列应该保持不变.我想避免创建临时列,而是希望学习如何在单个查询中执行此操作.谢谢.

Kau*_*yak 5

最好使用虚拟列

create table t2( col_name varchar2(10) );

insert into t2(col_name) values('hsaJDadkD');

ALTER TABLE t2 ADD (col_name2 GENERATED ALWAYS AS (SUBSTR(col_name,-3))); --virtual column

Select * from T2;

COL_NAME   COL_NAME
---------- --------
hsaJDadkD  dkD     
Run Code Online (Sandbox Code Playgroud)