2012-09-13 49 views
1

我有這樣如何解決在Oracle通配符搜索在許多領域

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。

在此先感謝您的建議。

回答

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%' 

結果都是行。

+0

其實有些條件不允許99來玩。但最近搞清楚了。無論如何,因爲你給了ans並提供了SQL提琴的鏈接,所以答案被接受並且投票從我那裏 – Pankouri