读书人

sql 最大值的有关问题

发布时间: 2012-03-31 13:13:26 作者: rapoo

sql 最大值的问题!
select max(Numbetr) from Information ;Numbetr为字符串类型,数据库有2条记录,分别2012年第99号,2012年第100号,查询出来的最大值是2012年第99号最大,这个查询应该怎么写啊

[解决办法]

SQL code
select max(convert(int,Numbetr)) from Information
[解决办法]
SQL code
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类型.
[解决办法]
SQL code
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) 

读书人网 >SQL Server

热点推荐