日期:2014-05-18 浏览次数:20568 次
float 和 real 用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。 语法 float [ ( n ) ] 从 - 1.79E + 308 到 1.79E + 308 之间的浮点数字数据。n 为用于存储科学记数法 float 数尾数的位数,同时指示其精度和存储大小。n 必须为从 1 到 53 之间的值。 n 所在范围 精度 存储大小 1-24 7 位数 4 字节 25-53 15 位数 8 字节 Microsoft® SQL Server? float[(n)] 数据类型对于从 1 到 53 之间的所有 n 值均符合 SQL-92 标准。double precision 的同义词为 float(53)。 real 从 ?3.40E + 38 到 3.40E + 38 之间的浮点数字数据。存储大小为 4 字节。在 SQL Server 中,real 的同义词为 float(24)。
------解决方案--------------------
没数据没真相,按道理你的写法是正确的
------解决方案--------------------
用decimal数据类型:
create table tel_feiyong(电话号码 varchar(20),基本通话费 decimal(18,2),信息费 decimal(18,2),XX费 decimal(18,2)) create table tel_info(部门 nvarchar(10),外线号码 varchar(20)) insert into tel_info select 'AA','12345678' insert into tel_feiyong select '12345678',23.45,0.40,10.02 insert into tel_feiyong select '12345678',11.02,0.50,2.46 insert into tel_feiyong select '12345678',20.11,0.30,5.93 go SELECT tel_info.外线号码, tel_info.部门, Sum(tel_feiyong.基本通话费) AS 基本通话费之总计 FROM tel_info INNER JOIN tel_feiyong ON tel_info.外线号码 = tel_feiyong.电话号码 GROUP BY tel_info.外线号码, tel_info.部门 go drop table tel_feiyong,tel_info /* 外线号码 部门 基本通话费之总计 -------------------- ---------- --------------------------------------- 12345678 AA 54.58 (1 行受影响) */
------解决方案--------------------
decimal(18,2)