Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如果是字符串的一部分,我如何按数字订购?_Sql_Database_Sqlite - Fatal编程技术网

Sql 如果是字符串的一部分,我如何按数字订购?

Sql 如果是字符串的一部分,我如何按数字订购?,sql,database,sqlite,Sql,Database,Sqlite,有没有办法按字符串的小数部分排序?我的数据是这样存储的:一些字符串值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

有没有办法按字符串的小数部分排序?我的数据是这样存储的:
一些字符串值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
但预期结果如下:

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

如果前缀长度相同,可以使用以下技巧:

order by len(some_string) desc, some_string_desc

如果前缀长度相同,可以使用以下技巧:

order by len(some_string) desc, some_string_desc

你必须发挥功能

请参阅

SUBSTR
LENGTH
INSTR
是可以拯救您的主要因素。一旦你开始探索它们,你就会了解它们


我仍然喜欢将两个值分开并存储到单独的列中。这将在处理数据时为您提供更大的灵活性。

您必须使用这些功能

请参阅

SUBSTR
LENGTH
INSTR
是可以拯救您的主要因素。一旦你开始探索它们,你就会了解它们


我仍然喜欢将两个值分开并存储到单独的列中。这将在处理数据时为您提供更大的灵活性。

这就成功了
len
显然不是SQLite函数。“谢谢,”戈登·林诺夫说

SELECT some_string 
FROM table_name 
ORDER BY length(some_string) desc, some_string desc

这就成功了
len
显然不是SQLite函数。“谢谢,”戈登·林诺夫说

SELECT some_string 
FROM table_name 
ORDER BY length(some_string) desc, some_string desc

是的,最好是两列,但这是一个没有太多灵活性的遗留系统。是的,最好是两列,但这是一个没有太多灵活性的遗留系统。