为了账号安全,请及时绑定邮箱和手机立即绑定

postgres sql 自定义排序规则

postgres sql 自定义排序规则

慕斯709654 2019-05-25 16:15:10
网上全是这个案例oredrbyposition(substring(qxnamefrom1for1)in'54321')可我的排序字段值有1112103456这些放在一起的话就变成了oredrbyposition(substring(qxnamefrom1for1)in'1112103456')这样排序肯定是不对的有没有什么办法
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

整理一下思路以帮助遇到同样问题的人9.6以下执行以下sql代码添加函数
CREATEFUNCTIONarray_search(needleANYELEMENT,haystackANYARRAY)
RETURNSINTAS$$
SELECTi
FROMgenerate_subscripts($2,1)ASi
WHERE$2[i]=$1
ORDERBYi
$$LANGUAGEsqlSTABLE;
排序使用时
orderbyarray_search(review,array[3,11,12,10,1,2,0,4])
其中array[3,11,12,10,1,2,0,4]数组为排序顺序
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 1459 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信