使用Oracle SQL Developer v3.2.20.09:
我有一个数据表,其中在所有其他数据中,我有一列所有数字结果(例如'RESULT_NUM
}但由于它的存储和使用方式,是一个varchar2字段。我需要提取BT
中TEMP
(一切都在华氏温度)的体温代码(TEMPERATURE
,VT_CODE
,result_num > 100
)的所有记录,所以单独搜索结果会有效。)
所以,我的简单陈述是:
Select * from VITALS where VT_CODE in ('BT', 'TEMP', 'TEMPERATURE');
这使我恢复了所有体温记录,超过2M。现在我需要对其进行优化以获得超过100的结果。
当我尝试添加“和result_num > 100
”时,我收到错误,因为它是一个varchar字段,我试图用数字搜索。
当我尝试添加“和result_num > '100'
”时,它会毫无错误地执行,因为它是一个字符值,但它会返回大于1的所有内容,而不是100,这显然就是一切。
请帮忙。
答案 0 :(得分:0)
尝试以下
and convert(int,result_num) > 100
或
and CAST(result_num as INTEGER) > 100