1

我有这样的查询

SELECT * 
FROM Table_Name
WHERE Category !='0' 
AND To_Char(Category) like to_char(:paramCategory)

我想用这个类别值实现通配符搜索。当我将值设为 9 时,没问题,我得到了预期的结果。但是当我使用 %9 或 9% 或 %9% 作为类别的值时,这些都没有给出预期的结果。例如,它给出了类别以 9.. 开头的所有结果,但将结果省略为 99,59,209 等。出了什么问题,我该如何解决?

该表有许多其他列,但此类别是数字类型。请不要建议更改该字段的 data_type。

提前感谢您的建议。

4

1 回答 1

2

使用%9%应该给你所有。看看SQL Fiddle

create table mytest (category number);
insert into mytest values (9959209);
insert into mytest values (9000);
insert into mytest values (1009);

select * from mytest where category like '%9%'

结果都是行。

于 2012-09-13T05:20:48.520 回答