MySql数据类型

原文:https://blog.csdn.net/csdnzhang365/article/details/80591987

Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。

MySql数据类型_第1张图片
image

整数

MySql数据类型_第2张图片
image.png

浮点数&定点数

MySql数据类型_第3张图片
image

注:定点数以字符串形式存储,对精度要求高时使用decimal较好;尽量避免对浮点数进行减法和比较运算。

时间/日期类型

MySql数据类型_第4张图片
image.png

字符串类型

MySql数据类型_第5张图片
image.png

int(11)

在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度。

这个11代表显示宽度,整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
  int是整型,(11)是指显示字符的长度,但要加参数的,最大为255,比如它是记录行数的id,插入10笔资料,它就显示00000000001 ~~~00000000010,当字符的位数超过11,它也只显示11位,如果你没有加那个让它未满11位就前面加0的参数,它不会在前面加0
  声明整型数据列时,我们可以为它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。显示宽度只用于显示,并不能限制取值范围和占用空间,如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是 INT整型所允许的最大值。

mysql日期和字符相互转换方法

date_format(date,'%Y-%m-%d %H:%i:%s') -------------->oracle中的to_char();

str_to_date(date,'%Y-%m-%d %H:%i:%s') -------------->oracle中的to_date();

%Y:代表4位的年份
%y:代表2为的年份

%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)

%d:代表月份中的天数,格式为(00……31)
%e:代表月份中的天数, 格式为(0……31)

%H:代表小时,格式为(00……23)
%k:代表 小时,格式为(0……23)
%h: 代表小时,格式为(01……12)
%I: 代表小时,格式为(01……12)
%l :代表小时,格式为(1……12)

%i: 代表分钟, 格式为(00……59)

%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
%T:代表 时间,格式为24 小时(hh:mm:ss)

%S:代表 秒,格式为(00……59)
%s:代表 秒,格式为(00……59)

MySql数据类型_第6张图片
image.png

mysql 取一条离当前时间最近的记录

# mysql写法
SELECT *, ABS(NOW() - startTime)  AS diffTime
FROM PolicyShuPrice
ORDER BY diffTime ASC
LIMIT 0, 1

你可能感兴趣的:(MySql数据类型)