我需要在SQL Server中使用T-SQL在列中的第一个数字之前隔离文本。
E.g。
StreetName 11A-D
我想收到结果:
StreetName
我的挑战是找出第一个数字是哪个字符编号。
有什么建议吗?
答案 0 :(得分:3)
select left(street, patindex('%_[0-9]%', street + '1'))
from (
select 'StreetName 11A-D' street
union all
select 'StreetName' street
) x
结果:
StreetName
StreetName
答案 1 :(得分:3)
SELECT RTRIM(SUBSTRING('StreetName 11A-D', 1, PATINDEX('%[0-9]%','StreetName 11A-D')-1))
答案 2 :(得分:3)
请尝试:
declare @var nvarchar(100)='StreetName 11A-D';
Select SUBSTRING(@var, 1, PatIndex('%[0-9]%', @var)-1)