我将搜索条件放在where'in'()中,并希望它按顺序显示,因为它是oracle中的'in'。
'in'()中的数据是登录id字段的数据,该字段是唯一的,由字符串类型组成。
例如,查询如下所示,
select login_id from table where login_id in ('1234', 'abcd', '12cd')';
结果必须这样显示,
=======
login_id
=======
'1234'
'abcd'
'12cd'
错误结果的例子是这样的,
=======
login_id
=======
'abcd'
'12cd'
'1234'
提前谢谢!
2条答案
按热度按时间nszi6y051#
您不能保留in列表的顺序,但可以对内置集合和
TABLE
运算符将值转换为行,然后按行排序。下面的查询很奇怪,但它避免了将值列表表达式更改为大型表达式CASE
陈述或者别的什么。slwdgvem2#
oracle没有专门的功能。
你可以使用
case
表达式:order by decode(login_id, '1234', 1, 'abcd', 2, '12cd', 3)