MySQL数据库varchar转int类型的方法

【MySQL】varchar转int类型的方法(CAST函数的使用)
1、问题描述:
获取一个表user中age的最大值。(由于历史原因,age是varchar类型的)

2、问题解决:
方案一:

select max(cast(sex as UNSIGNED INTEGER)) from user;

方案二:

select * from user order by cast(sex as UNSIGNED INTEGER) limit 1;

3、说明:
在使用CAST函数转换类型时,可以转换的类型是有限制的。这个类型可以是以下值其中的一个。也就是说,UNSIGNED 可以替换成:

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

4、网友总结:
在SQL Server中,CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。

语法:

CAST (expression AS data_type)

参数说明:

expression:任何有效的SQServer表达式。

AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。

data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。

使用CAST函数进行数据类型转换时,在下列情况下能够被接受:

(1)两个表达式的数据类型完全相同。

(2)两个表达式可隐性转换。

(3)必须显式转换数据类型。

如果试图进行不可能的转换(例如,将含有字母的 char 表达式转换为 int 类型),SQServer 将显示一条错误信息。
如果转换时没有指定数据类型的长度,则SQServer自动提供长度为30。
 

猜你喜欢

转载自blog.csdn.net/weixin_42321329/article/details/107553046
今日推荐