2012-06-14 91 views
0

在Oracle中,我有一個包含數據類型NUMBER列的表。我需要將字符串插入到即將創建的新行中。其他行肯定可以保留NUMBER,因爲通常這就是我需要插入它們的內容。那麼有沒有一種方法來插入一個像這樣的字符串的新行(這不適合我)?需要將數據串插入到具有NUMBER數據類型的表列中

INSERT INTO keyboard_learning (emplid,wpm,date_completed,exercise,attempt) 
VALUES (seq_keyboard_learning.nextval,to_char('LEVEL 3'),'14-JUN-2012','Meteor typing blast',1) 

我想創建一個新的行那裏通常我會把一些例如像「23」在WPM列的新行。這一次,我希望把「LEVEL 3'instead只是23號

+0

請解釋一下你的意思:你不插入一行而是插入一個字段。哪個領域?爲什麼你需要在一個數字中插入一個字符串? – Sebas

+0

你好。我想創建一個新行,通常我會在WPM列的新行中放置一個數字,例如'23'。這一次,我想把'LEVEL 3'替換爲23號。 – Shades

+0

指定您所指的列,並列出列的數據類型。 – Tom

回答

3

假設WPM是,我們正在談論的,沒有NUMBER列,沒有辦法插入像"LEVEL 3"字符串成列,而不改變列的定義。您可以將列轉換爲VARCHAR2,但如果您想將WPM視爲數字(即按數字排序而不是按字母順序排序,計算百分比改進等),則會導致許多令人頭痛的問題。

爲什麼要在首位存儲一個字符串到WPM列?看起來問題可能是你需要一個新的列,或者你的數據模型中可能還有一個新的實體。

+0

賈斯汀很好的答案。非常感謝。這是一個我正在學習的虛擬桌子。我跟蹤通常是數字的分數,但在這種情況下,它是一個級別(字符串),而不是分數(數字)。 – Shades

+0

@Shades - 但是,由於''LEVEL 3''不是「每分鐘的文字數」措施,您爲什麼要將它存儲在'WPM'列中?您幾乎肯定需要創建額外的列或其他實體來存儲關於級別的信息。 –

+0

一些學習工具是遊戲,並沒有提供一個wpm,只有一個分數。所以這次我將使用它來代替wpm。我現在肯定會創建一個名爲'分數'的新專欄。 – Shades

相關問題