有没有一种方法可以按字符串的小数部分排序?我的数据存储如下:Some string value xx.yy
,其中xx.yy
是十进制数。
SELECT some_string FROM table ORDER BY some_string desc;
结果如下:
Some string value 18.9
Some string value 18.8
Some string value 18.7
...
Some string value 18.2
Some string value 18.13
Some string value 18.12
Some string value 18.11
Some string value 18.10
Some string value 18.1
但是所需的结果如下:
Some string value 18.13
Some string value 18.12
Some string value 18.11
Some string value 18.10
Some string value 18.9
Some string value 18.8
Some string value 18.7
...
Some string value 18.1
答案 0 :(得分:2)
如果前缀长度相同,则可以使用以下技巧:
order by len(some_string) desc, some_string_desc
答案 1 :(得分:2)
您必须使用这些功能。
SUBSTR
,LENGTH
,INSTR
是可以拯救您的主要力量。一旦开始探索它们,您就会了解。
或
还是,我还是希望将两个值分开存储在单独的列中。在数据处理方面,这将为您提供更大的灵活性。
答案 2 :(得分:0)
这成功了。 len
显然不是SQLite函数。谢谢@ gordon-linoff。
SELECT some_string
FROM table_name
ORDER BY length(some_string) desc, some_string desc