在数据库中,我有各种以以下格式表示的字母数字字符串:
10_asdaasda
100_inkskabsjd
11_kancaascjas
45_aksndsialcn
22_dsdaskjca
100_skdnascbka
我希望它们可以按照字符串前面的数字和字符串名称本身进行排序,但是显然,字符逐个比较,因此按名称排序的结果如下:
10_asdaasda
100_inkskabsjd
100_skdnascbka
11_kancaascjas
22_dsdaskjca
45_aksndsialcn
与其说我希望的顺序,不如说我想要的是:
10_asdaasda
11_kancaascjas
22_dsdaskjca
45_aksndsialcn
100_inkskabsjd
100_skdnascbka
说实话,如果字符串只是按照前面的数字排序,我也没问题。我对PostgreSQL不太熟悉,所以不确定最好的方法是什么。我会感激任何帮助!
citext
的自定义text
数据类型变体是可能的,就像用于大小写不敏感性一样,只是需要有人关心并完成(大量)编码工作。 - Craig Ringer