SQLite按价格排序不起作用

1 sqlite sorting text character

我有一个名为price的列,所有值都是TEXT,所以这样:"$ 26.71".我想按降序对此列进行排序,但我不能,因为该列未定义为INTEGER,并且在所有值前面都有一个"$"字符.我该怎么做才能使这项工作?谢谢.

Eri*_*ric 5

您可以组合ltrimcast获取要从中排序的实际数字:

select * from table order by cast(ltrim(price, '$') as numeric) desc
Run Code Online (Sandbox Code Playgroud)

请注意,ltrim如果您有多种货币,也可以使用.把它们全部排好,就像'$€'.ltrim从左侧删除任何和所有字符,直到它击中不在该字符串中的字符.