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函数 转换 类型时,可以 转换 的类型...
[code=sql] test1:sql = select * from `test` where 'daodao' IN (`list`); -- 感觉怪怪的。。。应该是下边这样吧 test1:sql = select * from `test` where 'list' IN (`daodao`); [/code] 使用Maven运行Java main的3种方式 皇阿玛驾到: 非常好 可以转载吗 注明出错