sql-server - 如何在 T-SQL 中使用一个查询来舍入正数和负数?
问题描述
left(cast(round(s.test, 0) * 100, 3 as varchar(36)), 5) + '%'
这显示了我想要的结果,但是当它是负数时,例如 -0.005036,它不会显示到小数点后 3 位;相反,它显示 -0.54。
解决方案
什么版本的 SQL 服务器?你确定你不只是想要FORMAT(s.test, 'P3')
吗?FORMAT 应该适用于 2014 及更高版本。这可能是在 SQL 中进行文本格式化的最佳方式。更多文档:https ://docs.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql
有关这些格式模式的完整说明,请参阅 .NET Framework 文档,了解一般字符串格式、自定义日期和时间格式以及自定义数字格式。一个很好的起点是主题“格式化类型”。
推荐阅读
- c# - 检查 AD 中是否存在已完成的专栏公司
- testing - 报表覆盖率和分支覆盖率
- ubuntu - Ubuntu由于鼠标移动而崩溃
- php - Laravel 8数据库连接不起作用
- c - 从软件刺激硬件中断
- oracle - 如何比较两个oracle数据库中的所有表模式并报告缺失的列
- ios - 注入十进制的 SwiftUI 视图不会触发视图更新
- dataframe - 根据基于另一个数据框的值在 pyspark 数据框中创建一列
- c# - 是否可以在没有参数的情况下访问泛型 T 类型(C#)?
- powershell - 启动 Selenium Grid Hub 的 Azure Pipelines“目标机器上的 PowerShell”发布任务阻止了管道