1、mysql vchar 转 int、double等
MySQL 的CAST()函数可用来获取一个类型的值,并产生另一个类型的值
cast()函数是一个转换函数,参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。
cast 转换为double 类型,对于D\M取值注意事项。
#公式
CAST(value as type);
#vchar 转 int (小数会直接取整)
CAST(value as SIGNED);
#vchar 转 double M 代表保留整数位数+保留小数位数 ,D 代表保留小数位数
#1)参数m<65 是总个数,d<30且 d<m 是小数位。
#2)decimal可能的最大取值范围与double 一样,但是其有效的取值范围由M 和D 的值决定。
#如果改变M 而固定D,则其取值范围将随M 的变大而变大。
CAST(value as decimal(M,D));
2、cast() 函数适用的转换类型
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数(有符号) : SIGNED
无符号整数 (无符号): UNSIGNED
3、cast() 和 convert() 的比较
相同点:都是进行数据类型转换,实现的功能基本等同
不同点:两者的语法不同,cast(value as type) 、 convert(value,type)
如有错误或者描述不准确,敬请指正。