【发布时间】:2021-01-30 00:17:30
【问题描述】:
书名、作者、价格。价格就像“56.23”。我需要将其分成 2 列 - 美元、美分。
select author, title , substring(price, '.') from book
不工作
【问题讨论】:
-
使用
SUBSTRING_INDEX() -
我们敢问为什么吗? :-(
书名、作者、价格。价格就像“56.23”。我需要将其分成 2 列 - 美元、美分。
select author, title , substring(price, '.') from book
不工作
【问题讨论】:
SUBSTRING_INDEX()
使用函数FLOOR() 获取不带小数部分的数字。然后从数字中减去它得到分数。
SELECT author, title, FLOOR(price) AS dollars, 100 * (price - FLOOR(price)) AS cents
FROM book
【讨论】:
(price - FLOOR(price))*100 AS cents
这是一种方法:
SELECT autho, title,
SUBSTRING_INDEX(price, '.', 1) as dollars,
SUBSTRING_INDEX(price, '.', -1) as cents
FROM book
以 123.45 美元为例:
SELECT SUBSTRING_INDEX(123.45, '.', 1) as dollars, SUBSTRING_INDEX(123.45, '.', -1) as cents;
+-----------+---------+
| dollars | cents |
|-----------+---------|
| 123 | 45 |
+-----------+---------+
1 row in set
Time: 0.002s
【讨论】: