SQL Server里如何把查询出来结果的小数点去掉

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server里如何把查询出来结果的小数点去掉相关的知识,希望对你有一定的参考价值。

不四舍五入。直接取整数。。麻烦帮帮忙。。

思路很简单,数据类型转换,转成整型即可,看下我的例子:

--我们定义两个变量,一个小数 i ,一个整数 x
DECLARE  @i numeric(10,7),@x int
SET @i=3.1415926
print  @i
--将小数转换成整型
SET @x = CAST(ROUND(@i,0) AS int)
print  @x

参考技术A select cast(fieldname as bigint) from table_1 参考技术B select replace(字段,'.','') from 表名字

回答完毕,记得给分
呵呵本回答被提问者和网友采纳

SQL Server 中字段的精度问题

在工作中遇到,一个多表联合查询的情况,查询出来的有些字段精度太高,小数点后达到8个0,现在客户要求报表只要精确到0.01 ,就是只要小数点后面只要保存两位,另外还需要四舍五入

 

在网上找了点资料,自己测试了下,下面给大家分享下:

---创建一个测试表

USE test
CREATE TABLE studentscore
(
id INT IDENTITY(1,1) PRIMARY KEY ,
Score VARCHAR(20)
)
下面是截图,插入这些数据
 

1.不改变表中的值,只在查询时显示,四舍五入只保留两位小数

select Convert(decimal(18,2), Score) from studentscore
 
执行结果:

2.直接更新表中的值,四舍五入只保留两位小数

update studentscore set Score = cast(cast(round(Score,2) as float ) as varchar)
where charindex(\'.\',REVERSE(cast(Score as varchar(50))))-1>3
 
更新后的数据库:

 

 

以上是关于SQL Server里如何把查询出来结果的小数点去掉的主要内容,如果未能解决你的问题,请参考以下文章

sql语句中如何去掉空格 ?

sql server view账户查询出来的表不全

高手请告诉我:在sql server中怎样按照指定的字段去重?

sql server2008 怎么用like 查询 结果里面带引号的内容

急!如何将查询出来的sql数据库的数据导出EXCEL

sql server怎么把多个查询结果关联起来