当前位置: 首页 > news >正文

030 - 定点类型(精确值)

-DECIMAL,NUMERIC:

        该DECIMAL和NUMERIC 类型的存储精确的数值数据。当保留精确度很重要时,例如使用货币数据,则可以使用这些类型。在MySQL中,NUMERIC实现为DECIMAL,因此以下有关的说明DECIMAL同样适用于 NUMERIC。

        MySQLDECIMAL以二进制格式存储值。请参见第12.22节“精度数学”。

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

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

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

DECIMAL(M)DECIMAL(M,0)DECIMALDECIMAL(M,0)MDECIMALM,如果DECIMAL小数位数为0,则值不包含小数点或小数部分。

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

-- 创建一个价格表,存储的有效数 5位,小数位 2位:

CREATE TABLE price_p (price DECIMAL(5, 2));

-- 四舍:

INSERT INTO price_p (id, name, price) VALUES (3, "连衣裙", 111.1245);

-- 五入:

INSERT INTO price_p (id, name, price) VALUES (4, "短裙", 111.1255);

 -- 超出存储有效数会报错:

INSERT INTO price_p (id, name,  price) VALUES (5, "编织衫", 9999.9);

 

http://www.lryc.cn/news/127675.html

相关文章:

  • 生活随笔,记录我的日常点点滴滴.
  • C语言:每日一练(选择+编程)
  • Prompt、RAG、微调还是重新训练?选择正确的生成式 AI 的方法指南
  • Java实现单例模式的几种方法
  • VIOOVI:标准的作业规范要求是什么?标准化作业规范怎么写?
  • WPF中的GridSplitter使用原则
  • 【【STM32----I2C通信协议】】
  • 【JUC】线程池ThreadPoolTaskExecutor与面试题解读
  • 也许你正处于《孤注一掷》中的“团队”,要留心了
  • Kafka 入门到起飞 - 什么是 HW 和 LEO?何时更新HW和LEO呢?
  • go入门实践五-实现一个https服务
  • 面试之快速学习STL-set
  • leetcode 1614.括号的最大嵌套深度
  • Ajax 笔记(四)—— Ajax 进阶
  • Linux 5种网络IO模型
  • Linux多线程【初识线程】
  • Python爬虫的应用场景与技术难点:如何提高数据抓取的效率与准确性
  • Spring Cloud Gateway系例—参数配置(CORS 配置、SSL、元数据)
  • QT:UI控件(按设计师界面导航界面排序)
  • AtCoder Beginner Contest 314-A/B/C
  • 讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
  • 数学建模之“聚类分析”原理详解
  • 【面试问题】当前系统查询接口需要去另外2个系统库中实时查询返回结果拼接优化思路
  • Scada和lloT有什么区别?
  • Conda(Python管理工具)
  • (14)嵌套列表,Xpath路径表达式,XML增删查改,Implicit,Operator,Xml序列化,浅拷贝与深拷贝
  • 软考笔记 信息管理师 高级
  • 124、SpringMVC处理一个请求的流程是怎样的?
  • 低成本高收益,五金店小程序的秘密武器
  • C语言宏定义详解