sql 最大值的问题!
select max(Numbetr) from Information ;Numbetr为字符串类型,数据库有2条记录,分别2012年第99号,2012年第100号,查询出来的最大值是2012年第99号最大,这个查询应该怎么写啊
[解决办法]
select max(convert(int,Numbetr)) from Information
[解决办法]
select * from information t where number=(select max(number) from tb where id=t.id)
[解决办法]
你把你的表的所有字段拿出来看看,如果有一个能确定排序的列,那可以用row_number()over()来实现。
[解决办法]
按一般规则来比较排序的话 是从第一位开始比较,相同就继续下一位比较
99和100首先比较的是第一位 那就是9和1 确定9>1 所以99大于100
所以在字符串比较的时候 先要转成int类型.
[解决办法]
create table Information(Numbetr varchar(30))insert into Informationselect '2012年第99号' union allselect '2012年第100号'select top 1 Numbetrfrom Information order by cast(substring(Numbetr,charindex('第',Numbetr)+1,charindex('号',Numbetr)-charindex('第',Numbetr)-1)as int) descNumbetr------------------------------2012年第100号(1 row(s) affected)