如何从String sql中获取数字

时间:2015-04-16 01:18:13

标签: sql sql-server

我想从sql中的String中获取数字 示例:mn21或mnp100,如何从“mb21”或“mnp100”获取数字。 然后,我将按数字排序

1 个答案:

答案 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