如何从字符串中提取数字5005733989



如何从字符串"employee-process-5005733989-19874"中提取数字5005733989

不是最好的解决方案,但我们可以使用基本字符串函数CHARINDEXSUBSTRING:

SELECT SUBSTRING(col,
CHARINDEX('-', col, CHARINDEX('-', col) + 1) + 1,
CHARINDEX('-', col, CHARINDEX('-', CHARINDEX('-', col) + 1)) -
CHARINDEX('-', CHARINDEX('-', col) + 1) + 1)
FROM yourTable;

演示数据:

WITH yourTable AS (
SELECT 'employee-process-5005733989-19874' AS col
)

UsingSTRING SPLIT我们也可以达到同样的效果。

使用top 1,找到第一个数字段。

DECLARE @STR VARCHAR(MAX)='employee-process-5005733989-19874'
SELECT TOP 1 * FROM STRING_SPLIT(@STR,'-')
WHERE value like '%[0-9]%'

预期结果:

5005733989

相关内容

  • 没有找到相关文章

最新更新