sqlite - SQLite按价格排序不起作用

标签 sqlite text sorting character

我有一列称为价格的列,所有值都是TEXT,因此像这样:“ $ 26.71”。
我想按降序对该列进行排序,但是我不能,因为该列未定义为INTEGER,并且在所有值前面都有一个“ $”字符。
为了使这项工作我应该怎么做?
谢谢。

最佳答案

您可以结合使用ltrimcast来获取实际数字,并根据该数字进行排序:

select * from table order by cast(ltrim(price, '$') as numeric) desc


请注意,如果您使用多种货币,ltrim也可以使用。只需将它们全部对齐,例如'$€'ltrim从左侧删除所有字符,直到它碰到不在该字符串中的字符为止。

关于sqlite - SQLite按价格排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1311450/

相关文章:

ios - 如何使用 swift 在 iOS coredata sqlite 中启用删除模式

sqlite - 如何访问 SQL 脚本中最后插入的行 ID?

r - 如何从字符串中删除阿拉伯文本

C++ 排序 vector 时间复杂度

c# - 如何有效地对数组进行排序以利用多个 CPU?

arrays - MIPS 钻石分选

iphone - 从 sqLite 数据库 ios iPhone 应用程序检索数据

javascript - 在警报中它显示数据但不在主屏幕中

google-chrome - 在 Chrome 上转换后 SVG textPath 不可见

jquery - 存储原始文本一次