作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在一个 MySQL 表中有一个 prize_value 列,现在我需要根据它进行排序。该列实际上是 VARCHAR,并附有货币符号。但不是所有的值(value)观。货币符号可以是 USD(美元符号)、POUND 或 INR(卢比符号)。所以目前 order by 不能正常工作。如何在不手动删除货币符号的情况下解决此问题?
下面是列中的一些示例值:
.50
£10
£100
$15
$20
£25
£50
10
₹30
最佳答案
你需要两列:
将值和符号都存储在 varchar 中是没有意义的,特别是因为货币符号的位置因国家/地区而异(可以在开头或结尾),符号和符号之间可能有空格值,或不值等。
话虽这么说,如果你不想改变你的 table ,类似的东西可能会起作用:
ORDER BY CAST(
REPLACE(REPLACE(REPLACE(thecolumn,'$',''),'£',''),'₹','')
AS DECIMAL(10,2)
)
关于mysql - ORDER BY 货币值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32244889/
我是一名优秀的程序员,十分优秀!