MYSQL 浮点数计算 浮点型mysql |
您所在的位置:网站首页 › 定点数运算中产生溢出的原因 › MYSQL 浮点数计算 浮点型mysql |
小数型 小数型:带有小数点或者范围超出整型的数值类型。 SQL中:分为两种:浮点型和定点型 浮点型:小数点浮动,精度有限,而且会丢失精度 定点型:小数点固定,不会丢失精度 浮点型浮点型数据是一种精度型数据:因为超出指定范围之后,会丢失精度(四舍五入) 两种:float:单精度,占用4个字节存储数据,精度范围大概为7位左右 double:双精度,占用8个字节存储数据,精度范围大概为15位左右 浮点数的使用方式:直接float表示没有小说部分:float(M,D):M表示总长度,D表示小数部分长度,整数部分长度为M-D -- 创建浮点数表 create table my_float( f1 float, f2 float(10,2),-- 10位在精度范围之外 f3 float(6,2) -- 6位在精度范围之内 )charset utf8; -- 插入数据 可以是直接小数,也可以是科学计数法 insert into my_float values (1000.10,1000.10,1000.10);-- 符合条件 insert into my_float values (1234567890,12345678.90,1234.56);-- 符合条件 insert into my_float values (3e38,3.01e7,1234.56);-- 符合条件 insert into my_float values (9999999999,99999999.99,9999.99);-- 最大值浮点型数据的插入:整形部分是不能超出长度的,但是小数部分可以 -- 超出长度插入数据 insert into my_float values (123456,1234.123456789,123.1234567);-- 小数部分可以 insert into my_float values (123456,1234.12,12345.56);-- 整数部分超出查看数据:浮点数一定会进行四舍五入(超出精度范围):浮点数如果是因为系统进位导致整数部分超出指定的长度,那么系统也允许成立 定点型:绝对的保证整数部分不会被四舍五入(不会丢失精度),小说部分有可能(理论小数部分也不会丢失精度) 查看数据: bit(位)类型用于储存二进制数据,语法: BIT(M) M表示位数,范围:1~64 -- 查询A的ASCII码 select ascii('A'); -- 十进制转二进制借助bin 函数 select bin(65); -- 计算二进制数长度 select length(bin(65)); -- 十进制转二进制并计算二进制长度 select bin(65),length(bin(65));bit类型表: -- 创建表 create table my_bit( b bit(7) )charset utf8; -- 插入数据:可直接插入十进制数值,会自动转换 insert into my_bit values (65); -- 查看数据 select * from my_bit; -- 直接进行查询查到的结果是转换后的字符 -- 可以对查询结果进行转换可以得到二进制结果 select bin(b) from my_bit;
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |