需要将数据字符串插入具有NUMBER数据类型的表列

时间:2012-06-14 15:16:15

标签: sql oracle

在Oracle中,我有一个表格,其数据类型为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)

我想创建一个新行,通常我会在WPM列的新行中放置一个例如'23'的数字。这次我想把'LEVEL 3'放在第23位

1 个答案:

答案 0 :(得分:3)

假设WPM是我们正在讨论的NUMBER列,不,没有办法在不更改定义的情况下将"LEVEL 3"之类的字符串插入该列柱。您可以将列转换为VARCHAR2,但是如果您希望将WPM视为一个数字(即按字母顺序排序,而不是按字母顺序排序,计算百分比改进等),这会导致许多令人头疼的问题。 )。

为什么要首先在WPM列中存储字符串?问题似乎可能是您需要一个新列,或者可能是数据模型中的新实体。