SQL Server浮点字段精度问题 有一个字段是real类型,我写入时是6.9,例如:insert ...(6.9)再从数据库中查出来时就得到了6.89999这样的,我希望仍然是6.9应该如何处理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 create table tb (col real)insert into tb select 6.9select convert(decimal(5,1),col+0.0005) from tbgodrop table tb float 和 real 数据类型被称为近似的数据类型。在近似数字数据类型方面,float 和 real 数据的使用遵循 IEEE 754 标准。近似数字数据类型并不存储为多数数字指定的精确值,它们只储存这些值的最近似值。在很多应用程序中,指定值与存储值之间的微小差异并不明显。但有时这些差异也值得引起注意。由于 float 和 real 数据类型的这种近似性,当要求精确的数字状态时,比如在财务应用程序中,在那些需要舍入的操作中,或在等值核对的操作中,就不使用这些数据类型。这时就要用 integer、decimal、money 或 smallmone 数据类型。 create table tb (col decimal(10,1))insert into tb select 6.9select col from tbgodrop table tb/*col ------------ 6.9*/ 那就直接定义一变量,类型是numeric(19,1) 急求关于sql2000 查询语句的字符转换问题(去空) 日期时间转换 邹老大,请教一下object_id问题,能取值linked server中的数据表吗? sql server中能不能設置NULL值不顯示 SQL数据年月分组统计问题,求助 为什么会多重级联或循环? SQLServer对几个内部函数的设计思路的疑问 类型不匹配: 'CheckUserLogined' /sqlcs/log.asp,行 424 关于字符的处理 在winXP上用SQL SERVER 什么版 在创建函数或者存储过程的时候,能否把一个输入作为一个整体的条件放在where后面? 如何快速查询某状态的历史记录? - 急
insert into tb select 6.9
select convert(decimal(5,1),col+0.0005) from tb
go
drop table tb
insert into tb select 6.9
select col from tb
go
drop table tb
/*
col
------------
6.9
*/