微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将sql中的点按价格列拆分为2列?

如何解决如何将sql中的点按价格列拆分为2列?

图书表有书名、作者、价格。价格就像“56.23”。我需要将其拆分为 2 列 - 美元、美分。

select author,title,substring(price,'.') from book

不工作

解决方法

使用函数 FLOOR() 得到没有小数部分的数字。然后从数字中减去它得到分数。

SELECT author,title,FLOOR(price) AS dollars,100 * (price - FLOOR(price)) AS cents
FROM book
,

这是一种方法:

SELECT autho,SUBSTRING_INDEX(price,'.',1) as dollars,-1) as cents
FROM book

以 123.45 美元为例:

SELECT SUBSTRING_INDEX(123.45,SUBSTRING_INDEX(123.45,-1) as cents;
+-----------+---------+
|   dollars |   cents |
|-----------+---------|
|       123 |      45 |
+-----------+---------+
1 row in set
Time: 0.002s

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。