news 2026/4/22 1:31:05

Mysql convert函数、convert用法、字符串转数字、字符串转日期、类型转换函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mysql convert函数、convert用法、字符串转数字、字符串转日期、类型转换函数
文章目录
  • 一、语法
    • 1.1、转换指定数据类型
    • 1.2、转换指定字符集
  • 二、示例
  • 三、cast与convert的区别

Mysql提供了两种将值转换成指定数据类型的函数

  • CONVERT函数:用于将值转换为指定的数据类型或字符集
  • CAST函数:用于将值转换为指定的数据类型。更多内容参考:Mysql cast函数

以下内容基于mysql8.0进行讲解。

Mysql 8.0 convert函数官网

一、语法

1.1、转换指定数据类型

语法如下:

CONVERT(expr,type)

convert(expr,type)语法与 CAST(expr AS type)是等效的,所以支持的数据类型也是一致的,可以直接参考Mysql cast函数

参数说明:

参数

描述

expr

必填。要转换的值、列名

type

必填。要转换成的数据类型。mysql版本不同,支持的数据类型不同,使用时需注意。

数据类型支持如下

类型

描述

备注

DATE

将 value 转化为 DATE 类型。 格式: “YYYY-MM-DD”

DATETIME

将 value 转化为 DATETIME 类型。格式: “YYYY-MM-DD HH:MM:SS”

DECIMAL[(M[,D])]

将 value 转化为 DECIMAL 类型。使用可选的 M 和 D 参数指定最大位数(M)和小数点(D)后的位数

TIME

将 value 转化为 TIME 类型。格式: “HH:MM:SS”

CHAR

将 value 转化为 CHAR 类型 (固定长度的字符串)

NCHAR

将 value 转化为 NCHAR (类似 CHAR, 但生成一个具有国家字符集的字符串)

SIGNED

将 value 转化为 SIGNED (有符号的 64 位整数)

UNSIGNED

将 value 转化为 UNSIGNED (无符号 64 位整数)

BINARY

将 value 转化为 BINARY (二进制字符串)

DOUBLE

将value转化为DOUBLE类型

Added in MySQL 8.0.17

FLOAT

将value转化为FLOAT类型 。

Added in MySQL 8.0.17

更多内容参考官网:Mysql 8.0 cast函数官网

1.2、转换指定字符集

CONVERT函数用于将字符串expr的字符集变成transcoding_name

语法结构

CONVERT(expr USING transcoding_name)
  • expr: 要转换的值

  • transcoding_name: 要转换成的字符集

    – utf8mb4
    SELECT CHARSET(‘ABC’);
    – gbk
    SELECT CHARSET(CONVERT(‘ABC’ USING gbk));
    SELECT CONVERT(‘abc’ USING utf8mb4);

二、示例

1.将值转换为DATE数据类型

-- 2022-05-25 SELECT CONVERT('2022-05-25', DATE); -- 2022-05-25 17:58:48 SELECT NOW(); -- 2022-05-25 SELECT CONVERT(NOW(), DATE);

2.将值转换为DATETIME数据类型

-- 2022-05-25 00:00:00 SELECT CONVERT('2022-05-25', DATETIME);

3.将值转换为TIME数据类型

-- 14:06:10 SELECT CONVERT('14:06:10', TIME); -- 2022-05-25 17:25:12 SELECT NOW(); -- 17:25:12 SELECT CONVERT(NOW(), TIME);

4.将值转换为CHAR数据类型

-- '150' SELECT CONVERT(150, CHAR); -- 'Hello World437' SELECT CONCAT('Hello World',CONVERT(437, CHAR));

5.将值转换为SIGNED数据类型

-- 5 SELECT CONVERT('5.0', SIGNED); -- 2 SELECT (1 + CONVERT('3', SIGNED))/2; -- -5 SELECT CONVERT(5-10, SIGNED); -- 6 SELECT CONVERT(6.4, SIGNED); -- -6 SELECT CONVERT(-6.4, SIGNED); -- 7 SELECT CONVERT(6.5, SIGNED); -- -7 SELECT CONVERT(-6.5, SIGNED);

6.将值转换为UNSIGNED数据类型

-- 5 SELECT CONVERT('5.0', UNSIGNED); -- 6 SELECT CONVERT(6.4, UNSIGNED); -- 0 SELECT CONVERT(-6.4, UNSIGNED); -- 7 SELECT CONVERT(6.5, UNSIGNED); -- 0 SELECT CONVERT(-6.5, UNSIGNED);

7.将值转换为DECIMAL数据类型

-- 9 SELECT CONVERT('9.0', DECIMAL); -- DECIMAL(数值精度,小数点保留长度) -- DECIMAL(10,2)可以存储最多具有8位整数和2位小数的数字 -- 精度与小数位数分别为10与2 -- 精度是总的数字位数,包括小数点左边和右边位数的总和 -- 小数位数是小数点右边的位数 -- 9.50 SELECT CONVERT('9.5', DECIMAL(10,2)); -- 99999999.99 SELECT CONVERT('1234567890.123', DECIMAL(10,2)); -- 220.232 SELECT CONVERT('220.23211231', DECIMAL(10,3)); -- 220.232

三、cast与convert的区别

CAST() 和 CONVERT() 都可以更改 MySQL 中的数据类型。主要区别在于 CONVERT() 还可以将数据的字符集转换为另一个字符集。CAST() 就不能用于更改字符集。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:42:22

校平机:金属板材的“应力整形术“

基本原理:消除内应力的力学博弈 校平机是通过塑性弯曲变形来消除金属板材内部残余应力的设备。金属在轧制、切割或热处理后,内部应力分布不均会导致宏观不平整。校平机利用多组交错排列的辊系,使板材经历多次小曲率的正反弯曲,迫…

作者头像 李华
网站建设 2026/4/21 0:24:48

计算机深度学习毕设实战-基于python的水果识别基于python-CNN的水果识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/16 17:06:34

学长亲荐8个AI论文平台,专科生轻松搞定毕业论文!

学长亲荐8个AI论文平台,专科生轻松搞定毕业论文! 论文写作的“隐形助手”:AI 工具如何改变你的学习方式 在当今这个信息爆炸的时代,学术写作早已不再是传统意义上的“手写创作”,而是借助 AI 技术实现高效、精准的表达…

作者头像 李华
网站建设 2026/4/16 5:27:19

Linux下PostgreSQL-12.0安装部署详细步骤

一、安装环境 postgresql-12.0 CentOS-7.6 注意:确认linux系统可以正常连接网络,因为在后面需要添加依赖包。 二、pg数据库安装包下载 下载地址:PostgreSQL: File Browser 选择要安装的版本进行下载: 三、安装依赖包 在要安…

作者头像 李华