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