Mysql 数据类型转换详解

1 概述

MySQL数据类型转换
被动转换
加号运算符
字符串连接函数
1+'1' -- 2
concat(1,'1') -- 11
主动转换
convert函数转换
cast函数转换
日期时间互转函数
convert(expr, type)
cast(expr as type)
str_to_date
date_format

2 类型转换

char
date、time、datetime
date_format()
signed、unsigned、decimal(n,m)
数值
字符
日期
select -- 数值 -> 字符
       -- char(n) n 个长度的字符,超过截取
       convert(2022, char(3)) c1, -- 202
       convert(2022, char(4)) c2, -- 2022
       convert(2022, char(5)) c3, -- 2022

       -- 字符 -> 数值
       convert('-12.56', SIGNED) s1, -- -12 有符号整数
       convert('12.56', UNSIGNED) u1, -- 12 无符号整数
       convert('12.56', decimal(3, 1)) dc1, -- 12.6 浮点数,四舍五入

       -- 字符 -> 日期
       convert('2021-05-20 13:14:00', datetime) d1, -- 日期+时间
       convert('2021-05-20 13:14:00', date) d2, -- 仅日期
       convert('2021-05-20 13:14:00', time) d3, -- 仅时间
       str_to_date('2021-05-20 13:14:00', '%Y-%m-%d %H:%i:%S') d4,
       str_to_date(now(), '%Y-%m-%d') d5, -- 日期截取
       
       -- 日期 -> 字符
       convert(now(), char) c4,
       date_format(now(), '%Y-%m-%d %H:%i:%S') c5 -- 注意大小写
  from dual;

你可能感兴趣的:(mysql,数据库)