如何从 table 中删除存储为 varchar2 的数字

How to delete from table with number stored as varchar2

这可能是一个愚蠢的问题,但我们开始吧。

假设我有一个 table 'MyTable',其中一列 'Number' 存储为 varchar2。有什么方法可以从 table 中删除 'Number' 中的值小于我的输入的行吗?

像这样:

delete from MyTable where Number<'MyValueAsVarchar2'

例如,我有一条记录“5”。

delete from MyTable where Number<'7' 

此语句删除该行。

但是,如果我将“7”替换为“10”,它就不再起作用了。 (我猜是因为'1'小于'5')

我正在使用 Oracle。

您可以使用 TO_NUMBER 函数将 varchar2 转换为数字:

从 MyTable 中删除 TO_NUMBER(Number)<7