1. 手动转化类型(直接+0)
示例:select server_id from cardserver where game_id = 1 order by server_id
+0
desc
limit 10
2.
使用MySQL函数CAST:
示例:
select server_id from cardserver where game_id = 1 order by
CAST(server_id as SIGNED)
desc limit 10;
3. 使用MySQL函数CONVERT:
示例:select server_id from cardserver where game_id = 1 order by
CONVERT(server_id,SIGNED
)
desc limit 10;
CAST函数,CONVERT用法
CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name)
CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。
这个类型 可以是以下值其中的 一个:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
MySQL varchar转换为int1. 手动转化类型(直接+0)示例:select server_id from cardserver where game_id = 1 order by server_id+0 desclimit 102. 使用MySQL函数CAST:示例:select server_id from cardserver where ga
1.将字符的数字转成数字,比如’0’转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为
varchar
,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b,’0′) 这样就会导致 a/b成了字符串,因此需要把’0’改成0,即可解决此困扰3.比较数字和
varchar
时,比如a=11,b=”11ddddd”;则 select 11=”11ddddd”相等若绝对比较可以这样:select binary 11 =binary “11ddddd”4.字符集
转换
: CONVERT(xxx USIN
也是很偶然间遇到的一个问题.在进行
mysql
查询时,传的参数类型要求为
varchar
,然后传了个
int
类型的0,结果竟然...查出来了数据...
再经过一些测试数据之后,也是明白了,查询时的问题所在.下面是一个示例.
首先是准备测试数据
然后查询userid = 0的时候,会去匹配开头不为数字 和 开头数字为0,00,000等,后面跟着的不为数字的数据.
然后查询参数...
【
MySQL
】
varchar
转
int
类型的方法(CAST函数的使用)
1、问题描述:
获取一个表user中age的最大值。(由于历史原因,age是
varchar
类型的)
2、问题解决:
selectmax(cast(sexas UNSIGNED
INT
EGER))from user;
select * from userorder by cast(sexas UNSIGNED
INT
EGER) limit 1;
3、说明:
在使用CAST函数
转换
类型时,可以
转换
的类型...
使用Maven运行Java main的3种方式
皇阿玛驾到: