我需要在使用SQL Server中的T-SQL的列中的第一個數字之前隔離文本。返回字符串中的第一個字符,其編號爲
E.g.
StreetName 11A-D
我想收到的結果:
StreetName
我的挑戰是找到了第一個數字是字符數。
有什麼建議嗎?
我需要在使用SQL Server中的T-SQL的列中的第一個數字之前隔離文本。返回字符串中的第一個字符,其編號爲
E.g.
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
我奇怪的語法的原因是爲了防止像其他解決方案會導致的錯誤。另外我希望像「街道名稱」這樣的文本不應該導致空白文本 –
SELECT RTRIM(SUBSTRING('StreetName 11A-D', 1, PATINDEX('%[0-9]%','StreetName 11A-D')-1))
MS SQL有一個名爲PATINDEX函數,可以讓你的正則表達式與SQL相結合。 –