MySQL数据库中CAST与CONVERT函数实现类型转换的讲解
MySQL的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。
两者具体的语法如下:
CAST(valueastype); CONVERT(value,type);
就是CAST(xxxAS类型),CONVERT(xxx,类型)。
可以转换的类型是有限制的。这个类型可以是以下值其中的一个:
二进制,同带binary前缀的效果:BINARY
例如:当使用like模糊搜索日期类型的字段时语句应该是Create_TimelikebinaryCONCAT(‘%',#{createTime},'%')
- 字符型,可带参数:CHAR()
- 日期:DATE
- 时间:TIME
- 日期时间型:DATETIME
- 浮点数:DECIMAL
- 整数:SIGNED
- 无符号整数:UNSIGNED
下面举几个例子:
例一
mysql>SELECTCONVERT(‘23',SIGNED); +———————-+ |CONVERT(‘23',SIGNED)| +———————-+ |23| +———————-+ 1rowinset
这个例子是将varchar类型转化成int类型。
例二
mysql>SELECTCAST('125e342.83'ASsigned); +------------------------------+ |CAST('125e342.83'ASsigned)| +------------------------------+ |125| +------------------------------+ 1rowinset
例三
mysql>SELECTCAST('3.35'ASsigned); +------------------------+ |CAST('3.35'ASsigned)| +------------------------+ |3| +------------------------+ 1rowinset
像上面例子一样,将varchar转为int用cast(aassigned),其中a为varchar类型的字符串。
例四
在SQLServer中,下面的代码演示了datetime变量中,仅包含单纯的日期和单纯的时间时,日期存储的十六进制存储表示结果。
DECLARE@dtdatetime --单纯的日期 SET@dt='1900-1-2' SELECTCAST(@dtasbinary(8)) --结果:0x0000000100000000 --单纯的时间 SET@dt='00:00:01' SELECTCAST(@dtasbinary(8)) --结果:0x000000000000012C
MySQL的类型转换和SQLServer一样,就是类型参数有点点不同:CAST(xxxAS类型),CONVERT(xxx,类型)。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接