MySQL类型转换
假设某张表的三个字段为v1='10' v2='20' v3=30; v1,v2字符型,v3数字型,v1与v2相加时,select v1+v2得出的结果是30.00, 再与v3比较则匹配结果不精确,此时就可以用类型转换函数转成一致的类型进行比较。
Concat函数
- 连接字符串或类型转换连接:concat(8,'0') -> '80',字符型
Cast函数,Convert函数
-
cast(value as type);
-
convert(value,type);
-
可转类型如下:
- 二进制,同带binary前缀的效果 : BINARY
- 字符型,可带参数 : CHAR()
- 日期 : DATE
- 时间: TIME
- 日期时间型 : DATETIME
- 浮点数 : DECIMAL
- 整数 : SIGNED
- 无符号整数 : UNSIGNED
实践
- varchar 转换为 int类型
#方法一
SELECT CONUERT('100',SIGNED) AS NUM;
#方法二
SELECT CAST('100'AS SIGNED) AS NUM;