我在 postgres 14.1 資料庫中有一個自然排序字串的排序規則(provider = icu, locale = 'en-u-kn-true')。NodeJS v12.16.1。當字串具有非零前導數字(如 1 2 11 22)時,排序對我來說作業正常。如果數字從零開始,我會根據數字 [000, 00, 0, 001, 01, 1, 002, 02, 2] 得到正確的順序,但在這種情況下,我希望像 [000, 001, 002、00、01、02、0、1、2]。有沒有辦法使用語言環境的附加設定或其他方式來獲得這種行為。主要的是它應該快速作業(最多 2-3 秒),大約一百萬條記錄。
uj5u.com熱心網友回復:
您可以按前導零的數量排序,然后按數值:
ORDER BY
length(col)
- length(trim(LEADING '0' FROM col))
DESC,
col COLLATE natural_coll
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/472077.html
標籤:节点.js PostgreSQL 排序 语言环境 重症监护病房
下一篇:Lua-對表中的嵌套陣列進行排序
