每天一个MySQL知识点

MySQL数值类型包括以下类别:

精确数值类型: INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT

定点精确数值类型: DECIMAL, NUMERIC

近似数值类型: FLOAT, DOUBLE

位数据类型: BIT

一、精确数值类型:
二、近似数据类型(浮点数):
包括FLOAT和DOUBLE,FLOAT是单精度浮点数,占4个字节;DOUBLE是双精度浮点数,占8个字节。

FLOAT(M,D)或者DOUBLE(M,D),表示该字段最多能存储M位数(整数位+小数位),D代表小数位长度。注意,这种表示方法不是标准SQL的用法。

因为FLOAT和DOUBLE保存的是近似值,对于精度要求较高的数据,比如金额等,使用DECIMAL数据类型。

三、定点精确数值类型:
MySQL有两种表示小数的方式:浮点数和定点数。

浮点数就是FLOAT和DOUBLE,定点数DECIMAL和NUMERIC。NUMERIC与DECIMAL的实现没有区别。

DECIMAL(M,D),表示该字段最多能存储M位数(整数位+小数位),D代表小数位长度。比如工资salary字段的数据类型为DECIMAL(5,2),那么它的取值范围就是:-999.99 到 999.99。

四、位数据类型:
BIT用来存储二进制数,BIT(M),M的范围为1到64。

二进制数的字面值可以用b’val’和0bval来表示。val是一个用0和1来表示的二进制数。

查询结果中,直接返回二进制的方式可能显示效果不太友好,可以通过数值上下文或者一些函数来进行转换,BIN(二进制),HEX(十六进制),OCT(八进制)。

比如:

mysql> CREATE TABLE t (b BIT(8));
mysql> INSERT INTO t SET b = b’11111111’;
mysql> INSERT INTO t SET b = b’1010’;
mysql> INSERT INTO t SET b = b’0101’;

select b+0, BIN(b), OCT(b),HEX(b) from t
1
2
3
4
5
6
输出的结果如下:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值