首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 最大值的有关问题

2012-03-31 
sql 最大值的问题!select max(Numbetr) from Information ;Numbetr为字符串类型,数据库有2条记录,分别2012

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) 

热点排行