我想从sql中的String中获取数字 示例:mn21或mnp100,如何从“mb21”或“mnp100”获取数字。 然后,我将按数字排序
答案 0 :(得分:4)
您可以使用PATINDEX
搜索数字的起始索引,然后使用RIGHT
来获取剩余的数字:
WITH SampleData(string) AS(
SELECT 'mn21' UNION ALL
SELECT 'mnp100'
)
SELECT
string,
Number = CAST(RIGHT(string, LEN(string) - PATINDEX('%[0-9]%', string) + 1) AS INT)
FROM SampleData
ORDER BY Number