背景:
当我们做数据库表设计时,当初可能因为遗漏或疏忽将列属性设置成其他类型,在做运算的时候达不到我们想要的结果,这时候可以利用mysql的cast()和convert()函数来做类型转换。
语法结构与使用:
cast(values as type)
convert(values,type)
UPDATE tb_star_incr SET `status`='1' WHERE star_id in (SELECT * FROM (SELECT DISTINCT star_id FROM tb_star_incr WHERE `status`='0' and p_type!="组合类" AND CAST(score AS signed)>=10) AS t1);
支持的转换类型如下:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED