【发布时间】:2015-04-21 12:44:07
【问题描述】:
我有一个包含配置选项的表。这些值存储为字符串,但可以表示不同类型的数据。 TYPE 列标识值的数据类型。 (字符串、整数、浮点数或布尔值之一)。
CREATE TABLE CONFIG (
NAME VARCHAR2(256) NOT NULL,
TYPE VARCHAR2(20) NOT NULL,
VALUE VARCHAR2(1024)
)
我正在尝试运行包含数字比较的查询,例如
SELECT NAME, VALUE FROM CONFIG
WHERE TYPE = 'INTEGER' AND to_number(VALUE) > 100
但我的查询因“ORA-01722:无效号码”而失败。没有任何值(对于 INTEGER 类型的记录)包含无效字符。为什么我会收到“无效号码”错误,我该如何解决我的查询?
【问题讨论】: