当前位置:   article > 正文

[Mysql] CONVERT函数_mysql convert

mysql convert

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

1.转换指定字符集

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

语法结构

CONVERT(expr USING transcoding_name)

expr: 要转换的值

transcoding_name: 要转换成的字符集 

  1. -- utf8mb4
  2. SELECT CHARSET('ABC');
  3. -- gbk
  4. 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数据类型

  1. -- 2022-05-25
  2. SELECT CONVERT('2022-05-25', DATE);
  3. -- 2022-05-25 17:58:48
  4. SELECT NOW();
  5. -- 2022-05-25
  6. SELECT CONVERT(NOW(), DATE);

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

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

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

  1. -- 14:06:10
  2. SELECT CONVERT('14:06:10', TIME);
  3. -- 2022-05-25 17:25:12
  4. SELECT NOW();
  5. -- 17:25:12
  6. SELECT CONVERT(NOW(), TIME);

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

  1. -- '150'
  2. SELECT CONVERT(150, CHAR);
  3. -- 'Hello World437'
  4. SELECT CONCAT('Hello World',CONVERT(437, CHAR));

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

  1. -- 5
  2. SELECT CONVERT('5.0', SIGNED);
  3. -- 2
  4. SELECT (1 + CONVERT('3', SIGNED))/2;
  5. -- -5
  6. SELECT CONVERT(5-10, SIGNED);
  7. -- 6
  8. SELECT CONVERT(6.4, SIGNED);
  9. -- -6
  10. SELECT CONVERT(-6.4, SIGNED);
  11. -- 7
  12. SELECT CONVERT(6.5, SIGNED);
  13. -- -7
  14. SELECT CONVERT(-6.5, SIGNED);

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

  1. -- 5
  2. SELECT CONVERT('5.0', UNSIGNED);
  3. -- 6
  4. SELECT CONVERT(6.4, UNSIGNED);
  5. -- 0
  6. SELECT CONVERT(-6.4, UNSIGNED);
  7. -- 7
  8. SELECT CONVERT(6.5, UNSIGNED);
  9. -- 0
  10. SELECT CONVERT(-6.5, UNSIGNED);

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

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

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

补充资料 | CAST函数https://blog.csdn.net/Hudas/article/details/124399908?spm=1001.2014.3001.5501

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/545337
推荐阅读
相关标签
  

闽ICP备14008679号