比double精度更高的数据类型_MySQL 数据类型之浮点

2023-11-15

基本数据类型:

为什么明确数据类型?不同数据类型大小不同。明确了数据类型之后,可以帮助使用者进行类型检查,明确存储空间大小,明确操作是否合理。从手册上来看,基本的数据类型包括:日期与时间(05.27.2020)/字符串(abcd)/空间数据/JSON数据/数值 (最简单的类似数字1,2,3)

今天来重点讲一下数值数据类型中的浮点

-浮点

整数部分 4 小数点(.)小数部分

小数点第一位 7 小数点第二位 4 小数点第三位 3

浮点有两类,一种是decimal. Fixed-point types,存储准确值的。需要指定位数

一种是float and double .Floating-Point Types 近似值。不需要指定位数


先来看Decimal : Decimal 最多65位。

MySQL以二进制格式存储DECIMAL值。在DECIMAL列声明中,可以(通常是)指定精度和小数位数。例如:薪水DECIMAL(5,2)在此示例中,5是精度,2是小数位。精度表示值存储的有效位数,小数位数表示小数点后可存储的位数。

标准SQL要求DECIMAL(5,2)能够存储任何具有五位数字和两位小数的值,因此可以存储在薪水列中的值的范围是-999.99到999.99。

在标准SQL中,语法DECIMAL(M)等效于DECIMAL(M,0)。同样,语法DECIMAL等效于DECIMAL(M,0),其中允许实现决定M的值。MySQL支持DECIMAL语法的这两种变体形式。 M的默认值为10。

如果小数位数为0,则DECIMAL值不包含小数点或小数部分。DECIMAL的最大位数为65,但是给定DECIMAL列的实际范围可能受给定列的精度或小数位数的限制。如果为这样的列分配的值在小数点后的位数比指定刻度允许的位数多,则该值将转换为该刻度。 (精确的行为是特定于操作系统的,但是通常效果是将其截断为允许的位数。


再来,Float(M,D) Double Precision(M,D):M 总共有多少位,D 小数点后有多少位。

MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。在此,(M,D)表示总共可以存储多达M位的值,其中D位可以在小数点后。例如,显示为FLOAT(7,4)的列看起来像-999.9999。 MySQL在存储值时执行四舍五入,因此,如果将999.00009插入FLOAT(7,4)列,则近似结果为999.0001。

看了文档,发现从MySQL 8.0.17开始,不建议使用非标准的FLOAT(M,D)和DOUBLE(M,D)语法,并且在将来的MySQL版本中将不再支持该语法

由于浮点值是近似值而不是作为精确值存储的,因此在比较中尝试将它们视为精确值可能会导致问题。在实际运算过程中,输入相同的数字进行加和运算,因为数据类型的不同,最后的结果可能不同。所以,要认真考虑数据的类型。特别是对数字精度敏感的行业。

需要注意的是:存储近似数值数据值的代码应使用FLOAT或DOUBLE PRECISION,而没有规定精度或位数。

SQL标准允许在括号中的关键字FLOAT后面的位中指定精度(而不是指数的范围)的可选规范 ;即FLOAT(p)。 MySQL还支持此可选的精度规范,但是精度值仅用于确定存储大小。从0到23的精度生成4字节单精度FLOAT列。从24到53的精度将生成8字节的双精度DOUBLE列。

(MySQL uses four bytes for single-precision values and eight bytes for double-precision values.---- from MySQL Notes)


代码运行 (MySQL)

create table t3 (d1 decimal(5,2),d2 double(5,2),d3 float(5,3),d4 double, d5 float,d6 decimal)

insert into t3

values

(23.432,23.432,23.432,23.432,23.432,23.432)

select * from t3;

运行结果:

23.43(后面变成两位小数) 23.43(后面变成两位小数)23.432 (浮点,后面三位)23.432(double 不变),23.432(float 不变),23 (decimal 没有设定小数点,直接没有小数点后面的数值了)

之后继续介绍其他数值类型

推荐几个介绍数据类型的网站。

MySQL Data Types - w3resource​www.w3resource.com https://www.w3schools.com/sql/sql_datatypes.asp​www.w3schools.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比double精度更高的数据类型_MySQL 数据类型之浮点 的相关文章

  • 【Python脚本】Python自动大麦网抢票,准点原价秒杀演唱会门票,拒绝黄牛交易!从我做起!!!1

    文章目录 前言 一 分析购票过程 二 Selenium 模拟浏览器操作 三 逆向工程 抢票接口 总结 前言 你是否错过了周杰伦的票 最近又没抢到五月天的票 不要太难过 今晚有张学友的票 后天还有张杰的票 加油哦 Python配套案例源码 资
  • HTML中各类空格占位符

    符号 表示 32 普通的英文半角空格 160 nbsp xA0 普通的英文半角空格但不换行 12288 中文全角空格 一个中文宽度 8194 ensp 半角 en 空格 半个中文宽度 不受字体影响 8195 emsp 全角 em 空格 一个
  • 金九银十,你需要这份Android大厂高频面试题解析

    一年已经过大半 金九银十将来临 在寻找下一份工作之前 我们需要先问自己几个问题 首先 我们的基础知识是否扎实 有没有学习新技术 其次 有没有尝试过不依赖百度来解决问题 第三 我们的技术栈是否已经老化 有没有接触过工作之外的技术栈 随着技术的
  • CSS中常用的属性.htm

  • 企业微信刚上线被曝存安全漏洞

    4月18日 腾讯正式在iOS Android Windows Mac四个平台同时推出了企业微信1 0版本 这个江湖传闻已久的第一代企业微信1 0版本也是腾讯用来投石问路的产品 用户可注册并免费使用 这款定位为一款办公沟通工具 想让我们的工作
  • 软件测试之删除功能点用例梳理

    共计22点 一 UI界面测试 删除按钮 UI显示正常 布局合理 删除后 结果展示 布局合理 删除后 页面的分页 布局合理 二 用户体验测试 不选择任何信息 直接点击删除按钮 是否有提示 删除某条或多条信息时 应该有确认提示 三 功能测试 删
  • docker mysql5.7.16 中文乱码

    有部分同学会遇到 在centos上docker mysql没乱码 但是在fedora系统上的docker mysql会有乱码问题 这兴许是docker mysql的问题 这里的bug我们不去追究 这里主要讲解决方案 首先系统要安装有dock
  • 工业质检如何以“智”取胜?15分钟上手工业零部件检测全流程方案

    工信部联合国家发展改革委 教育部 科技部等部门发布了十四五智能制造发展规划 规划中提出 到2025年70 规模以上的制造业企业基本要实现数字化网络化 建成500个以上引领行业发展的智能制造示范工厂 制造业离不开质检质检需要AI智能化赋能 制
  • 问题:your cpu does not support kvm extensions

    问题 我的BIOS开启了CPU虚拟化 但是虚拟机仍然显示your cpu does not support kvm extensions 解决 1 关闭虚拟机 2 虚拟机上单击右键 设置 3 选择下图选项 4 重启虚拟机 问题解决
  • JAVA 中的 -> 是什么意思?

    在 JAVA核心编程 中 有一段这样的代码 import javax swing import java awt import java io File public class ImageViewer public static void
  • 我的创作纪念日2023.8.5

    机缘 在CSDN的创作开始于去年 创作的初衷是希望对自己的学习经历进行记录 同时也把自己的经验和收获传递给更多需要的小伙伴 创作博客的过程是一个将输入的知识进行再生产的过程 在此期间 知识获得了沉淀和提纯 思路和想法也愈发通畅 收获 1 在
  • sql根据入职日期查询工龄

    员工表 查询入职满5年的员工 员工表 查询入职满5年的员工在这里插入图片描述 部门表 在这里插入图片描述 SELECT FROM COM WHERE entry lt DATE SUB SYSDATE INTERVAL 5 YEAR 原文链
  • 苹果开发者账号Apple ID如何进行资料修改?

    我们在申请了开发者账号后 有时候需要对账号进行资料修改 只要你有了Apple ID 也就是邮箱 和苹果的密保 密码 那这个Apple ID就唯一属于你的了 下面会截图说明如何进行修改 首先登陆Apple ID管理网站 https apple
  • Leetcode466.统计重复个数——掐头去尾寻找循环点

    文章目录 引入 本题题解 引入 每日一题出现了这么一道题 466 统计重复个数 题目在此就不做展示了 直接说思路 刚拿到这道题的时候 首先会找 多少个s1才能够拼成一个s2 比如 abba 和 ab 那么一个 abba 里面就包含了 abb
  • 蓝桥杯真题:乘积尾零(2018 年省赛)

    如下的 1010 行数据 每行有 1010 个整数 请你求出它们的乘积的末尾有多少个零 5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432
  • c结构体中char[0]的作用-实现数组扩展

    struct Data int len char data 0 原来的data中没有元素 不分配内存 结构体Data的大小为4 假如现在分配15字节的内存 并且将指向这块内存的指针强制转换为 Data Data pData Data mal
  • 用于多模态图像配准的弱监督卷积神经网络

    Weakly Supervised Convolutional Neural Networks for Multimodal Image Registration 摘要 在多模态图像配准的监督学习中 最基本的挑战之一是体素级空间对应的基值的

随机推荐

  • lua学习笔记之详解lua堆栈

    原文连接 http blog csdn net musicvs article details 8440707 1 Lua的堆栈和全局表 我们来简单解释一下Lua的堆栈和全局表 堆栈大家应该会比较熟悉 它主要是用来让C 和Lua通信的 是的
  • STA series --- 8.Timing Verification (PARTI)

    本篇内容 基于阅读J Bhasker Rakesh Chadha著作 Static Timing Analysis for Nanometer Designs 后进行的总结以及自己的观点和感想 如有不正确的地方 还请指点 读者有微电子基础将
  • Web安全之SQL注入攻击

    什么是SQL注入式攻击 所谓SQL注入式攻击 就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串 欺骗服务器执行恶意的SQL命令 在某些表单中 用户输入的内容直接用来构造 或者影响 动态SQL命令 或作为存储过程的输入参数
  • Synchronized的原理及自旋锁,偏向锁,轻量级锁,重量级锁的区别

    在多线程并发编程中Synchronized一直是元老级角色 很多人都会称呼它为重量级锁 但是随着Java SE1 6对Synchronized进行了各种优化之后 有些情况下它并不那么重了 Java SE1 6中为了减少获得锁和释放锁带来的性
  • WebGoatV8.1(challenges)详细过关教程

    一 Admin lost password 设置代理继续抓包 刷新题目本页面 抓取url路径为 WebGoat challenge logo的包 重放在回应包里面搜索admin找到账号和密码 登录拿到flag 二 Without passw
  • 华为od统一考试B卷【师徒关系】

    题目描述 给定数组 2 1 3 2 每组表示师徒关系 第一个元素是第二个元素的老师 数字代表排名 现在找出比自己强的徒弟 输入 2 1 3 2 输出 0 1 2 第一行数据 2 1 表示排名第 2 的员工是排名第 1 员工的导师 后面的数据
  • Flask 数据库-单表操作

    Flask SQLAlchemy Flask SQLAlchemy是在Flask中操作关系型数据库的拓展 是以面向模型对象的形式操作数据库 通过迁移完成建表 安装 pip install flask sqlalchemy 基本配置 第一种
  • c语言2进制转3进制

    保存答案的 要求二进制满足最多64位 网上的答案都不对 听同学讲用了 unsigned long long 和 运算左移 方法一 include
  • Nodejs等待一段时间

    定义 function timeout ms return new Promise resolve reject gt setTimeout resolve ms done 使用 等待2秒 timeout 2000 then gt 这里写等
  • Auto.js监测抖音验证弹窗和关闭权限弹窗如(点击文字弹窗、滑动拼图解锁弹窗、上滑查看更多视频弹窗等)

    文章目录 前言 一 实现原理 二 使用步骤 1 代码示例 2 echo log方法 总结 前言 在使用Auto js实现抖音模拟点击过程中 会出现权限申请弹窗 验证弹窗 上滑查看更多视频弹窗等 阻塞脚本运行 下面给大家介绍下摸索的成果 一
  • C/C++编程:类

    什么是类 类是一种用户定义 数据 类型 类似与C语言的结构体 无论是什么编程语言 进行面向对象程序设计都是从类的设计开始的 类则是C 面向对象编程的实现方式 类的声明与定义 语法 类关键词 class struct union 之一 类可拥
  • 1.3 大数据导论与Linux基础-VMware Workstation虚拟机使用

    文章目录 VMware Workstation虚拟机使用 一 VMware虚拟机概念与安装 VMware介绍 VMware功能 组件 网络架构图 在PC上安装VMware Workstation虚拟机软件 二 Centos操作系统的虚拟机导
  • LeetCodes刷题总结1——寻找两个正序数组的中位数

    题目 给定两个大小分别为 m 和 n 的正序 从小到大 数组 nums1 和 nums2 请你找出并返回这两个正序数组的 中位数 算法的时间复杂度应该为 O log m n 示例1 输入 nums1 1 3 nums2 2 输出 2 000
  • ‘parent.relativePath‘ points at com.xxx instead of org.springframework.boot:spring-boot-starter的快速解决

    快速解决 在
  • PTA 7-76 寻找完美数*

    PTA 7 76 寻找完美数 所有真因子之和小于其本身的数称为亏数 如 4 的真因子 1 2 之和为 3 小于 4 是亏数 所有真因子之和大于其本身的数称为盈数 如 12 的真因子 1 2 3 4 6 之和为 16 大于 12 是盈数 不盈
  • throttle-debounce 节流和防抖

    目录 1 区别 2 使用 3 实现 3 1 debounce 3 2 throttle 4 意外收获 throttle节流 debounce防抖 1 区别 假设时间频率 1s throttle 是每隔 1s 必然执行 高铁不能人 到点就发车
  • 八进制在计算机系统中的应用场景,二进制、八进制、十进制、十六进制都能干什么? 十六进制计算器使用场景...

    二进制 二进制如今主要用在电子技术的数字电路中 比如我们经常使用的计算机能够识别的语言就是二进制语言 数字电路中的高 低电平 导通 截止 开 关 有 无 真 假等等都是二进制表示 二进制的逻辑电路使用0和1表示 八进制 十进制 十六进制 八
  • springboot 源码_springboot源码解析

    1 springboot是什么 脚手架 纵观框架的发展过程 最终由springboot出来做了SSM的整合 方便程序员偷懒 因为SSM整合过程中有很多的配置 很多的依赖 很容易出错 也不方便快速开发 2 spring创建对象的过程 图解 开
  • Air Raid

    http poj org problem id 1422 Description 例如 Consider a town where all the streets are one way and each street leads from
  • 比double精度更高的数据类型_MySQL 数据类型之浮点

    基本数据类型 为什么明确数据类型 不同数据类型大小不同 明确了数据类型之后 可以帮助使用者进行类型检查 明确存储空间大小 明确操作是否合理 从手册上来看 基本的数据类型包括 日期与时间 05 27 2020 字符串 abcd 空间数据 JS