irpas技术客

[Mysql] CONVERT函数_山茶花开时。_convert mysql

大大的周 4556

CONVERT函数用于将值转换为指定的数据类型或字符集

1.转换指定字符集

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

语法结构

CONVERT(expr USING transcoding_name)

expr: 要转换的值

transcoding_name: 要转换成的字符集?

-- utf8mb4 SELECT CHARSET('ABC'); -- gbk SELECT CHARSET(CONVERT('ABC' USING gbk)); 2.转换指定数据类型

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

语法结构

CONVERT(expr,type)

expr: 要转换的值

type:?要转换为的数据类型?

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转换成二进制格式

示例??

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); -- 出错Error SELECT CONCAT('Hello World',437)); -- '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 SELECT CONVERT(220.23211231, DECIMAL(10,3));

CAST函数也能够实现数据类型转换?

补充资料 | CAST函数


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #convert #MySQL #本文主要讲解CONVERT函数