注册 登录
编程论坛 SQL Server论坛

如何截取字段串中的两个数字

ihukh 发布于 2021-06-03 21:19, 4289 次点击
declare @Name nvarchar(50)
set @Name='长: 616±1.0;宽: 376±1.0'

如何截取长616,宽376  ,只要数字 616 和376  。
求大神指点,万分感谢!
1 回复
#2
mywisdom882021-06-08 12:42
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。
expressionToSearch :用于被查找的字符串。
start_location:开始查找的位置,为空时默认从第一位开始查找。

长开始位置:charindex('长:',@Name,1)+1
长结束位置:charindex('±',@Name,1)-1

宽开始位置:charindex('宽:',@Name,1)+1
宽结束位置:charindex('±',@Name,charindex('宽:',@Name)+1)-1
套上去,就出来了
长:
substring(@Name,charindex('长:',@Name,1)+1,(charindex('±',@Name,1)-1) - (charindex('长:',@Name,1)+1))
宽:按上面套
1