我有一个字符串列,类似于' foo.bar.baz123'我想在该字符串末尾的整数上订购所以..在postgres中,我可以这样做:
ORDER BY SUBSTRING(column FROM '(\d+)$')::integer
但你怎么在sqlite中做到这一点?
此外,我应该注意,按整数排序非常重要,这样我才能得到如下排序结果:
foo.bar.baz1
foo.bar.baz2
foo.bar.baz10
foo.bar.baz123
答案 0 :(得分:0)
假设column
字段的格式始终为foo.bar.bazXYZ
,其中XYZ
包含一个或多个数字,则以下解决方案应该有效。
SELECT column
FROM yourTable
ORDER BY CAST(SUBSTR(column,
INSTR(column, 'baz') + 3,
LENGTH(REPLACE(column, 'foo.bar.baz', ''))) AS INTEGER) ASC;