选择查询以删除非数字字符值并获取最高值。
select stuff(Round, 1, patindex('%[0-9]%', Round)-1, '') from Table_LKP_RoundInfo
我的Round专栏中有以下数据。
Round1
Round5
Round18
Round9
从上面选择查询我得到如下面的非数字列表
1
5
18
9
现在我需要来自上面4个值的最高值结果,例如最高值为18.我需要在上面的选择查询中输出为18。
答案 0 :(得分:0)
为什么不替换Round
;
select MAX(cast(REPLACE(Round, 'Round', '') as int)) MaxRound
from Table_LKP_RoundInfo
答案 1 :(得分:0)
你可以通过这个实现
select
Max(CONVERT(int, stuff(Round, 1, patindex('%[0-9]%', Round)-1, '')))
from Table_LKP_RoundInfo
答案 2 :(得分:0)
只需使用substring()
patindex()
函数即可实现上述最大值
select max(substring(Round, PATINDEX('%[^ROUND]%', Round), LEN(Round)))
from Table_LKP_RoundInfo