Я пытаюсь отделить номер дома и название улицы от адреса.
Я могу разделить большинство адресов, пока не доберусь до адреса, который содержит цифры и буквы как частьHouseNumber.
Я попробовал ниже, и это работает по большей части.Но он не работает для адреса, подобного 876A Mountain Breeze Rd. Я не могу отделить номер дома 876A от остальной части адреса.
Isих способ разделить 876A как [номер дома]?
SELECT
C.CustomerID
,CASE
WHEN ISNUMERIC(LEFT(LTRIM(C.ServiceAddress), CHARINDEX(' ',
LTRIM(C.ServiceAddress)))) = 1 THEN
LEFT(LTRIM(C.ServiceAddress), CHARINDEX(' ',
LTRIM(C.ServiceAddress)))
ELSE
NULL
END AS [House Number]
,CASE
WHEN ISNUMERIC(LEFT(LTRIM(C.ServiceAddress), CHARINDEX(' ', LTRIM(C.ServiceAddress)))) = 1 THEN
LTRIM(RTRIM(SUBSTRING(
LTRIM(C.ServiceAddress),
CHARINDEX(' ', LTRIM(C.ServiceAddress)) + 1,
LEN(LTRIM(C.ServiceAddress)))))
ELSE
LTRIM(RTRIM(C.ServiceAddress))
END AS [Street Name]
FROM dbo.Customers AS C