https://blog.csdn.net/qq_36599564/article/details/103763627
以上两个函数均可返回子字符串在一个字符串中的位置
因此可以利用这个函数来达到我们的目的==>返回和IN中条件顺序相同的查询结果
select * from tb where id in (111, 444, 333, 222) order by position(id::text in ‘111,222,333,444’);
或
select * from tb where id in (111, 444, 333, 222) order by strpos(‘111,222,333,444’, id::text);
以上两种方式均可达到我们的目的,需要注意的是position和strpos均是字符串处理函数,因此如果IN条件字段类型是数字类型,需要转换成字符串。使用 cast(id as VARCHAR) 或者 id::text 都可。
文档更新时间: 2023-06-19 13:44 作者:admin