sql - 格式化为百分比
问题描述
我一直在尝试一些不同的查询,但我似乎无法获得百分比格式,我划分的两个数字都是浮点数。
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% 但我似乎得到浮点数或整数 1 和 0 其中 0.5 = 0 和 1.15 = 1
解决方案
许多数据库进行整数除法。您可以通过将值转换为非整数来解决此问题:
r.result * 1.0 / s.record
您还应该学习使用正确、明确、标准 JOIN
的语法。
推荐阅读
- ios - 如何通过 bigcommerce 中的 api 获取隐私政策内容以显示在 iOS 中我的 bigcommerce 商店的移动版本中
- wpf - 如何获取列表视图中单元格的行和列索引?
- excel - InputBox 变量在 Countif 公式中未被识别
- python - 如何在 SQLAlchemy 插入语句中指定模式名称?
- vb.net - 未正确读取文本文件
- button - 使用命令时禁用 Xamarin.Forms、MvvmCross 中的按钮的最佳做法是什么?
- javascript - 如何从函数返回多个值并在while循环中使用它们
- python - 仅使用 BeautifulSoup 保留包含特定字符串的表
- python - UnicodeDecodeError:“utf-8”编解码器无法解码位置 2 中的字节 0xd1:无效的继续字节
- flyway - 大多数(但不是全部)Java Flyway 迁移被跳过