[Mysql] CONVERT函数
短信预约 -IT技能 免费直播动态提醒
CONVERT函数用于将值转换为指定的数据类型或字符集
1.转换指定字符集
CONVERT函数用于将字符串expr的字符集变成transcoding_name
语法结构
CONVERT(expr USING transcoding_name)
expr: 要转换的值
transcoding_name: 要转换成的字符集
-- utf8mb4SELECT CHARSET('ABC');-- gbkSELECT CHARSET(CONVERT('ABC' USING gbk));
2.转换指定数据类型
CONVERT函数用于将字符串expr的字符集变成transcoding_name
语法结构
CONVERT(expr,type)
expr: 要转换的值
type: 要转换为的数据类型
值 | 描述 |
DATE | 将expr转换成'YYYY-MM-DD'格式 |
DATETIME | 将expr转换成'YYYY-MM-DD HH:MM:SS'格式 |
TIME | 将expr转换成'HH:MM:SS'格式 |
CHAR | 将expr转换成CHAR(固定长度的字符串)格式 |
SIGNED | 将expr转换成INT(有符号的整数)格式 |
UNSIGNED | 将expr转换成INT(无符号的整数)格式 |
DECIMAL | 将expr转换成FLOAT(浮点数)格式 |
BINARY | 将expr转换成二进制格式 |
示例
将值转换为DATE数据类型
-- 2022-05-25SELECT CONVERT('2022-05-25', DATE);-- 2022-05-25 17:58:48SELECT NOW();-- 2022-05-25SELECT CONVERT(NOW(), DATE);
将值转换为DATETIME数据类型
-- 2022-05-25 00:00:00SELECT CONVERT('2022-05-25', DATETIME);
将值转换为TIME数据类型
-- 14:06:10SELECT CONVERT('14:06:10', TIME);-- 2022-05-25 17:25:12SELECT NOW();-- 17:25:12SELECT CONVERT(NOW(), TIME);
将值转换为CHAR数据类型
-- '150'SELECT CONVERT(150, CHAR);-- 'Hello World437'SELECT CONCAT('Hello World',CONVERT(437, CHAR));
将值转换为SIGNED数据类型
-- 5SELECT CONVERT('5.0', SIGNED);-- 2SELECT (1 + CONVERT('3', SIGNED))/2;-- -5SELECT CONVERT(5-10, SIGNED);-- 6SELECT CONVERT(6.4, SIGNED);-- -6SELECT CONVERT(-6.4, SIGNED);-- 7SELECT CONVERT(6.5, SIGNED);-- -7SELECT CONVERT(-6.5, SIGNED);
将值转换为UNSIGNED数据类型
-- 5SELECT CONVERT('5.0', UNSIGNED);-- 6SELECT CONVERT(6.4, UNSIGNED);-- 0SELECT CONVERT(-6.4, UNSIGNED);-- 7SELECT CONVERT(6.5, UNSIGNED);-- 0SELECT CONVERT(-6.5, UNSIGNED);
将值转换为DECIMAL数据类型
-- 9SELECT CONVERT('9.0', DECIMAL);-- DECIMAL(数值精度,小数点保留长度)-- DECIMAL(10,2)可以存储最多具有8位整数和2位小数的数字-- 精度与小数位数分别为10与2-- 精度是总的数字位数,包括小数点左边和右边位数的总和-- 小数位数是小数点右边的位数-- 9.50SELECT CONVERT('9.5', DECIMAL(10,2));-- 99999999.99SELECT CONVERT('1234567890.123', DECIMAL(10,2));-- 220.232SELECT CONVERT('220.23211231', DECIMAL(10,3));-- 220.232SELECT CONVERT(220.23211231, DECIMAL(10,3));
CAST函数也能够实现数据类型转换
补充资料 | CAST函数https://blog.csdn.net/Hudas/article/details/124399908?spm=1001.2014.3001.5501
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341