当前位置: 代码迷 >> Sql Server >> sql 最大值的有关问题
  详细解决方案

sql 最大值的有关问题

热度:38   发布时间:2016-04-27 14:21:35.0
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)
  相关解决方案