这里再插入一个小知识,如何在oracle下看表的
可以查询出所有的用户表
查询结果按照in条件顺序输出序输出
业务需要,通过lucene查出符合搜索条件的id,然后在详情表里查出这些id的详情
其中id是根据搜索的权值进行的排序,sql没有问题,但是通过这种sql查出来的结果的排序就不对了。
这个一般默认是按照主键来排序的,而并不是根据in中条件的顺序来排列的
网上有个案例是按照in顺序来排序的解决方案,是利用sql server的charindex来解决的。不过仅限于sqlserver
CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下:
Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。 CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如CHARINDEX没有找到要找的字符串,那么函数整数“0”
这里有小技巧,可以利用charindex来进行模糊匹配
0
但是oracle下是怎么实现相同的效果的呢?可以使用decode函数
结果是符合条件的
(编辑:4S站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!