寻求一SQL语句问题答案
SQL数据库内有一字段序号为char(10),这个类型不可以改变,里面是数字,从1排到1020.
我用这条SQL:select max(序号) from 表
为什么会是999,而不是1020.
问题点数:10、回复次数:7Top
1 楼mb459()回复于 2005-03-28 16:02:58 得分 0
没道理的啊/Top
2 楼qianfl(毛毛熊)回复于 2005-03-28 16:04:42 得分 0
字符类型是按从左到右比的,所以是999,因为第一位9是最大的Top
3 楼he1106(www.pbjh.net)回复于 2005-03-28 16:42:44 得分 0
因为字符型的数据,
换成数字,或用0补位
例如,999 改为0999Top
4 楼li_d_s(鄙视那些不懂Java却跑来乱骂的人,.NET没啥了不起)回复于 2005-03-28 16:56:28 得分 10
呵呵,这种事情去看看字符串的大小比较方法就知道了
可以用select max(convert(int, 序号)) as 序号 from 表就可以得到结果了Top
5 楼TTLOVEYOU3344(笨笨)回复于 2005-03-28 17:34:02 得分 0
對,支持 li_d_s(我是小鬼),要先轉換!Top
6 楼lucylu0726()回复于 2005-03-28 20:41:38 得分 0
li_d_s(我是小鬼) 已经解释的够全面了!顶Top
7 楼j9dai(翔)(DoItNow)回复于 2005-03-29 09:28:07 得分 0
呵呵,小鬼的方法,先转为数值型再比较Top




