MySQL的类型转换convert/cast,和SQL Server有点点差别

http://blog.csdn.net/zzcv_/article/details/1871630

 

很简单的东西, 会写在这是因为我用 conver(bigint,xxx) 不成功。后查资料,发现要用signed。发现比SQL Server限制大些,不能随便填数据类型,只有几个固定参数和字符集转化的能力。

 

字符集转换 :   CONVERT(xxx  USING   gb2312)

类型转换和SQL Server一样,就是类型参数有点点不同  : CAST(xxx  AS   类型)  ,   CONVERT(xxx,类型)

可用的类型
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED

update ljl_userinfo set born_time = convert(CONCAT(SUBSTRING(id_card,7,4),’-‘,SUBSTRING(id_card,11,2),’-‘,SUBSTRING(id_card,13,2)),DATE)
where LENGTH(id_card) = 18 and id_card is not null and convert(SUBSTRING(id_card,7,4),UNSIGNED) > 1900 and convert(SUBSTRING(id_card,7,4),UNSIGNED) < 2100

发表评论

电子邮件地址不会被公开。 必填项已用*标注