Sql 甲骨文中的instr命令
我需要根据搜索条件以特定方式排序查询。我有db2的搜索顺序,但我也需要让它在Oracle中工作 我对db2的查询使用locate函数Sql 甲骨文中的instr命令,sql,oracle,db2,sql-order-by,Sql,Oracle,Db2,Sql Order By,我需要根据搜索条件以特定方式排序查询。我有db2的搜索顺序,但我也需要让它在Oracle中工作 我对db2的查询使用locate函数 Select * from <table> where UPPER(NAME) like "'%<search>%' order by locate('<search>', UPPER(NAME)), UPPER(NAME) 选择* 从…起 其中上部(名称)类似“'%%” 按位置排序(“”,
Select *
from <table>
where UPPER(NAME) like "'%<search>%'
order by locate('<search>', UPPER(NAME)),
UPPER(NAME)
选择*
从…起
其中上部(名称)类似“'%%”
按位置排序(“”,大写(名称)),
上(姓名)
这将返回审查搜索,如下所示:
回顾,
回顾一项任务,
回顾B任务,
另一篇评论
我曾尝试在oracle中使用instr函数,但它并没有返回我所希望的结果
select *
from <table>
where UPPER(name) like '%<search>%'
order by instr('<search>',UPPER(name)),
name
选择*
从…起
其中上部(名称)类似“%”
仪表命令(“”,上(名称)),
名称
你知道我需要做什么才能得到我想要的订单吗?你的指令中的参数是错误的。你目前正在搜索词中寻找模式
UPPER(nane)
。以下内容对我有用:
with sample_data as (select 'Review' name from dual union all
select 'Review A Task' name from dual union all
select 'Review B Task' name from dual union all
select 'Another Review' name from dual)
select *
from sample_data
where UPPER(name) like '%REVIEW%'
order by instr(UPPER(name), 'REVIEW'),
name;
NAME
--------------
Review
Review A Task
Review B Task
Another Review
谢谢你的帮助!我应该仔细看看函数。