65.9K
CodeProject 正在变化。 阅读更多。
Home

在 MS SQL 中将数字格式化为 2 位小数而不进行舍入

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.03/5 (16投票s)

2004年10月15日

viewsIcon

147508

将任何数字格式化为 2 位小数而不进行舍入

引言

如果你想将数字格式化为 2 位小数,而不进行四舍五入,这里有一个技巧。

在 SQL 中创建表

CREATE TABLE [Table1] (
 [area] [float] NULL
)

 

插入一些数据

INSERT INTO Table1 ([area]) VALUES(12.693)
INSERT INTO Table1 ([area]) VALUES(1256.12963)
INSERT INTO Table1 ([area]) VALUES(25.998596)
INSERT INTO Table1 ([area]) VALUES(1.963)

 

现在是查询

select
cast(cast(area as int) as varchar(10)) + cast(substring(cast(area-cast(area as int) as varchar(10)),2,3) as varchar(4)),
FROM Table1

逻辑

1) 将数字转换为整数

2) 从实际数字中减去整数部分

3) 将步骤 2 的答案转换为 varchar 并截取字符串,以获取包含小数点的 3 位数字

4) 连接 (+) 步骤 1 和 2

祝你 SQL 愉快 :)

 

在 MS SQL 中将数字格式化为 2 位小数,不进行四舍五入 - CodeProject - 代码之家
© . All rights reserved.