网上全是这个案例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$$SELECTiFROMgenerate_subscripts($2,1)ASiWHERE$2[i]=$1ORDERBYi$$LANGUAGEsqlSTABLE;排序使用时orderbyarray_search(review,array[3,11,12,10,1,2,0,4])其中array[3,11,12,10,1,2,0,4]数组为排序顺序
添加回答
举报
0/150
提交
取消