我一直在尝试一些不同的查询,但我似乎无法获得百分比格式,我除的两个数字都是 float 。
SELECT p.name, s.name, CAST(CAST(ROUND(r.result/s.record, 2)*100 as DECIMAL(18, 2)) as VARCHAR(100)) + ' %' as percentage
FROM people p, results r, sports s
WHERE p.ID=r.peopleID AND s.ID = r.sportID;
SELECT p.name, s.name, FORMAT((r.result/s.record), 'Percent') as percentage
FROM people p, results r, sports s
WHERE p.ID=r.peopleID AND s.ID = r.sportID;
SELECT p.name, s.name, FORMAT((r.result/s.record), 'P3') as percentage
FROM people p, results r, sports s
WHERE p.ID=r.peopleID AND s.ID = r.sportID;
SELECT p.name, s.name, FORMAT(r.result/s.record)*100 as percentage
FROM people p, results r, sports s
WHERE p.ID=r.peopleID AND s.ID = r.sportID;
我想要这种格式 90.32% 但我似乎得到 float 或整数 1 和 0 其中 0.5 = 0 和 1.15 = 1
最佳答案
很多数据库做整数除法。您可以通过将值转换为非整数来解决此问题:
r.result * 1.0 / s.record
您还应该学习使用正确的、明确的、标准 JOIN
语法。
关于sql - 格式化为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54432578/