sql查询字符串中最大的数字

例如:苏博青岛房估字(2014)第YPCY0003号,我想要得到‘号’前面的四位数中的最大数字,如何用SQL语句查询出来呢?请教SQL语句

一、字符串为数值,可以直接使用 cast 把列转换成数值型,然后用max()取最大即可:

如:select max(cast(字段 as integer))


二、字符中间包含数字,如 137465、5453728,最大为7,8,可以使用CHARINDEX ( )函数来判断

如:


三、指定位置的数字,如 abc02,a2u07,最大数字为07或7,可以使用right或left截取数字,再使用max()

如:select max(right(字段,2))


当然还有其他方式的数字比较,基本思路相同,先定位数字的位置,或截取数字,在进行比较。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-01
create table #tttttttttt (string varchar(100))
insert into #tttttttttt values('苏博青岛房估字(2014)第YPCY0003号')
insert into #tttttttttt values('苏博青岛房估字(2014)第YPCY0004号')
insert into #tttttttttt values('苏博青岛房估字(2014)第YPCY0005号')
select max(substring(string,len(string)-4,4)) from #tttttttttt

本回答被提问者采纳
相似回答