簡體   English   中英

將列復制到oracle db中同一表中的另一列。 我需要指定哪些數據在哪里?

[英]Copy a column to another column within a same table in oracle db. Do I need to specify which data goes where?

我想更改oracle表中列的數據類型(varchar2到number),並且該列不為空。 所以我想我會做的是,創建一個新列,將數據從一列復制到另一列。 禁用/刪除上一列並重命名新列。

要在相同列之間復制數據,我可以使用:

UPDATE TABLE_NAME SET NEW_COLUMN = TO_NUMBER(OLD_COLUMN);

但是在做這個之前我想要確認的是,我是否需要指定哪一行的數據在哪里? 或者它將被復制到列中的相鄰行? 我的意思是,我是否需要做以下事情:

UPDATE (SELECT TO_NUMBER(OLD_COLUMN) AS OLDISH, NEW_COLUMN AS NEWISH FROM TABLE_NAME A, TABLE_NAME B WHERE A.ID = B.ID) SET NEWISH = OLDISH;

該操作將在每行的同一行上完成。

請注意,如果您不想更新所有表行,則需要添加WHERE子句。

UPDATE foo_table SET some_column = another_column使用同一行的some_columnanother_column 但請注意,它在foo_table每一行都這樣foo_table ; 確保它是你想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM