-2
直到今天,我們使用在Varchar列中輸入數值,以便Oracle將該varchar字段轉換爲數字字段。 現在,當我們試圖插入字符值時,它會拋出ORA-01722(無效號碼)。Oracle將Varchar字段轉換爲數字如何將其轉換回Varchar
任何人都可以幫我把它轉換回varchar字段嗎?
直到今天,我們使用在Varchar列中輸入數值,以便Oracle將該varchar字段轉換爲數字字段。 現在,當我們試圖插入字符值時,它會拋出ORA-01722(無效號碼)。Oracle將Varchar字段轉換爲數字如何將其轉換回Varchar
任何人都可以幫我把它轉換回varchar字段嗎?
評論者是正確的:數據庫不會自行更改列類型。通常,您必須創建一個新列,將舊數據複製到新列,刪除原始列並重命名新列。
drop table deleteme_table;
-- zippy s/b varchar2(30), not integer
CREATE TABLE deleteme_table
(
adate DATE
, zippy INTEGER
);
-- Add the correct type to the table as a new column
ALTER TABLE deleteme_table
ADD (tempcol VARCHAR2 (30));
-- Copy the old values to the new column
UPDATE deleteme_table
SET tempcol = zippy;
-- Get rid of the original column
ALTER TABLE deleteme_table
DROP COLUMN zippy;
-- Rename to original column name
alter table deleteme_table rename column tempcol to zippy;
發佈表描述和拋出異常的查詢 – GurV
你是什麼意思* Oracle將該varchar字段轉換爲數字字段*? – GurV
歡迎來到SO。請閱讀[問]併發布相關細節。謝謝。 – OldProgrammer