SQL Server에서 T-SQL을 사용하여 열의 첫 번째 숫자 앞에 텍스트를 격리해야합니다.문자열의 첫 번째 문자를 숫자로 반환하십시오.
예.
StreetName 11A-D
나는 결과를 받고 싶습니다 :
StreetName
나의 도전은 첫 번째 숫자 인 문자 수를 찾아하는 것입니다.
제안 사항?
SQL Server에서 T-SQL을 사용하여 열의 첫 번째 숫자 앞에 텍스트를 격리해야합니다.문자열의 첫 번째 문자를 숫자로 반환하십시오.
예.
StreetName 11A-D
나는 결과를 받고 싶습니다 :
StreetName
나의 도전은 첫 번째 숫자 인 문자 수를 찾아하는 것입니다.
제안 사항?
시도하십시오 :
declare @var nvarchar(100)='StreetName 11A-D';
Select SUBSTRING(@var, 1, PatIndex('%[0-9]%', @var)-1)
select left(street, patindex('%_[0-9]%', street + '1'))
from (
select 'StreetName 11A-D' street
union all
select 'StreetName' street
) x
결과 :
StreetName
StreetName
내 '이상한'구문의 이유는 다른 솔루션과 같은 오류를 방지하는 것입니다. 또한 "StreetName"과 같은 텍스트는 빈 텍스트가 나오지 않아야합니다. –
SELECT RTRIM(SUBSTRING('StreetName 11A-D', 1, PATINDEX('%[0-9]%','StreetName 11A-D')-1))
MS SQL은 SQL로 정규 표현식을 결합 할 수 있습니다 PATINDEX라는 기능이 있습니다. –