文章目录
- 一、数据类型
- 1、数值类型
- 1.1、整数类型
- 1.2、浮点
- 1.3、定点DECIMAL
- 2、时间类型
- 2.1、日期和时间类型占用的存储空间
- 2.2、日期和时间类型表示的范围
- 2.3、日期和时间类型的零值表示
- 3、文本类型
- 二、隐式转换
- 参考文章
一、数据类型
1、数值类型
1.1、整数类型
整数 | 名称 | 空间 |
---|---|---|
TINYINT | 非常小的整数 | 1个字节 |
smallint | 小整数 | 两个字节 |
mediumint | 中型大小整数 | 三个字节 |
int(integer) | 一般大小整数 | 四个字节 |
bigint | 大整数 | 8个字节 |
1.2、浮点
1.3、定点DECIMAL
MySQL中的定点数类型只有DECIMAL一种类型。DECIMAL类型也可以使用(M,D)进行表示,其中,M被称为精度,是数据的总位数;D被称为标度,表示数据的小数部分所占的位数。定点数在MySQL内部是以字符串的形式进行存储的,它的精度比浮点数更加精确,适合存储表示金额等需要高精度的数据。
DECIMAL(M,D)类型的数据的最大取值范围与DOUBLE类型一样,但是有效的数据范围是由M和D决定的。而DECIMAL的存储空间并不是固定的,由精度值M决定,总共占用的存储空间为M+2个字节。
使用定点数类型表示数据时,当数据的精度超出了定点数类型的精度范围时,则MySQL同样会进行四舍五入处理。
当DECIMAL类型不指定精度和标度时,其默认为DECIMAL(10,0)。
创建数据表t8,在t8数据表中包含两个字段,即d1和d2,两个字段的类型分别为DECIMAL和DECIMAL(5,2)。也就是说,d1字段使用默认的精度和标度,d2字段的精度为5,标度为2。
2、时间类型
2.1、日期和时间类型占用的存储空间
2.2、日期和时间类型表示的范围
每种日期和时间类型都有一个有效值范围,如果超出这个有效值范围,则会以0进行存储
2.3、日期和时间类型的零值表示
3、文本类型
二、隐式转换
字符串转数字
这个就很有意思,空查不出来但是加上 - 和 ’ 就可以查出来
数字转字符串合并
SELECT CONCAT(1024,' sdfadf') from TJHMD24;
CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。
文章中的 cast不成功
参考文章
个人笔记,不同意见,望有交流
直接可以点击跳转连接
作者 csdn MYSQL技能树
作者: yunying:MYSQL隐式类型转换