【发布时间】:2015-04-16 01:18:12
【问题描述】:
我想从 sql 中的字符串中获取数字 示例:mn21 或 mnp100,如何从“mb21”或“mnp100”中获取数字。 然后,我将按数字排序
【问题讨论】:
-
所有字符串都以数字结尾吗?
-
是的,但它们的长度不同
标签: sql sql-server
我想从 sql 中的字符串中获取数字 示例:mn21 或 mnp100,如何从“mb21”或“mnp100”中获取数字。 然后,我将按数字排序
【问题讨论】:
标签: sql sql-server
您可以使用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
【讨论】: