遇到的问题主要是文件有文件号,形式是[2023]999、M[2023]998、M[2023]1000这种形式的数据,而且必须按照文件号排序,当初没有把前缀和后缀分开,想要排序很麻烦。
幸好找到了解决办法,利用sql的正则表达式把非数字统统替换为空,然后把字符串转换为数字即可。这样的话文件号就变成了2023999、2023998、20231000这种形式,既有了年份,又有了后面的数字,排序效果杠杠的。
这个项目用的是pgsql,排序sql如下,
order by case(regexp_replace(文件号,'[^\d,]','','g') as integer) desc
其他的数据库可以搜一下相应的函数
博客主要讲述遇到文件号排序问题,文件号形式如[2023]999等,因未分开前缀和后缀排序麻烦。解决办法是利用SQL正则表达式将非数字替换为空,再将字符串转数字,以实现排序,项目用的是pgsql。
171万+

被折叠的 条评论
为什么被折叠?



