站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

mysql中金额用什么类型

时间:2022-06-15 [网络编程]作者:fabuyuan 浏览:3 次

mysql中,金额用“DECIMAL”类型。DECIMAL类型是专门为财务相关问题而设计的数据类型,能够解决数据的范围和精度的问题,常用于货币数据,如价格,工资,帐户余额等;它实际上是以字符串的形式存放的,可在定义时划定整数部分以及小数部分的位数,语法“DECIMAL(M,D)”,参数M是数字的最大数(精度),参数D是小数点右侧数字的数目(标度)。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

在mysql中,金额用“DECIMAL”类型。

Decimal(定点数)为专门为财务相关问题设计的数据类型,能够解决数据的范围和精度的问题。

DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下:

  • M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认 值是10。

  • D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。

说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。

如DECIMAL(5,2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。

DECIMAL 类型不同于 FLOAT 和 DOUBLE。DOUBLE 实际上是以字符串的形式存放的,DECIMAL 可能的最大取值范围与 DOUBLE 相同,但是有效的取值范围由 M 和 D 决定。如果改变 M 而固定 D,则取值范围将随 M 的变大而变大。

强调一下:在 MySQL 中,定点数以字符串形式存储,在对精度要求比较高的时候(如货币、科学数据),使用 DECIMAL 的类型比较好,另外两个浮点数进行减法和比较运算时也容易出问题,所以在使用浮点数时需要注意,并尽量避免做浮点数比较。

MySQL DECIMAL数据类型和货币数据

我们经常将DECIMAL数据类型用于货币数据,如价格,工资,帐户余额等。如果您设计一个处理货币数据的数据库,则以下语法应没问题。

amount DECIMAL(19,2);

但是,如果您要遵守公认会计原则(GAAP)规则,则货币列必须至少包含4个小数位,以确保舍入值不超过0.01美元。在这种情况下,您应定义具有4个小数位的列,如下所示:

amount DECIMAL(19,4);

MySQL DECIMAL数据类型示例

首先,创建一个新表名为materials三个字段分别:id,description和cost。

CREATE TABLE materials (
    id INT AUTO_INCREMENT PRIMARY KEY,
    description VARCHAR(255),
    cost DECIMAL(19 , 4 ) NOT NULL
);

其次,将数据插入materials表中。

INSERT INTO materials(description,cost)
VALUES('Bicycle', 500.34),('Seat',10.23),('Break',5.21);

第三,从表中查询数据materials。

SELECT 
    *
FROM
    materials;

第四,修改cost列以包含ZEROFILL属性。

ALTER TABLE materials
MODIFY cost DECIMAL(19,4) zerofill;

五,再次查询材料表。

SELECT 
    *
FROM
    materials;

如您所见,我们在输出值中填充了许多零。

【相关推荐:mysql视频教程

以上就是mysql中金额用什么类型的详细内容,更多请关注站长家园其它相关文章!

本文标签:  mysql

转载请注明来源:mysql中金额用什么类型

本文永久链接地址:https://www.adminjie.com/post/13506.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • Redis集群操作实例详解

      Redis集群操作实例详解

      本篇文章给大家带来了关于Redis的相关知识,其中主要整理了集群操作的相关问题,包括了增加redis实例、配置8007为主节点、配置8008为8007的从节点等...

    • MySQL日志管理(总结分享)

      MySQL日志管理(总结分享)

      本篇文章给大家带来了关于mysql的相关知识,其中主要整理了日志管理的相关问题,包括了错误日志、通用查询日志、二进制日志等等内容,下面一起来看一下,希望对大家有...

    • html5草案是哪一年发布的

      html5草案是哪一年发布的

      html5草案是在2008年发布的。HTML5草案的前身是“WebApplications1.0”,是在2004年被“WHATWG”提出,直到2008年1月...

    • Vue3和Vue2的差异是什么?全方位对比一下!

      Vue3和Vue2的差异是什么?全方位对比一下!

      Vue3和Vue2的差异是什么?下面本篇文章给大家全方位对比Vue3与Vue2,聊聊Vue3与Vue2的区别,希望对大家有所帮助!从Vue3发布以来,我就一直对...

    • 浮动是css3的新特性吗

      浮动是css3的新特性吗

      浮动不是css3的新特性。定义元素在哪个方向浮动的float属性在css1时就已经可以使用了,css的浮动会使元素向左或向右移动,其周围的元素也会重新排列,一个...

    热门文章