如何從字符串中提取值?我試圖分成3個新的列。城市,州和郵編的單獨列。SQL從字符串中提取值
我已經試過
select address2,
left(address2, charindex('',address2)-1)
from table
和---當我嘗試下面的代碼,我得到「傳遞給左或子功能無效的長度參數」
,LTRIM(substring(a.Address2, CHARINDEX(' ', a.Address2)+1, CHARINDEX(' ', substring(a.address2, charindex(' ',
a.address2)+1, len(a.address2)))-1))
我可以打出來這個城市(West Warwick除外)使用下面的代碼,但不知道如何使它適用於狀態和zip。這也消除了錯誤。
SUBSTRING(Address2,1,CHARINDEX(' ', a.address2+ ' ')-1) as city
任何想法要嘗試什麼?
我必須有where子句嗎?我仍然收到「傳遞給LEFT或SUBSTRING函數的無效長度參數」。 – BIReportGuy
我確實更新了'State'邏輯 - 我被關閉了一個。如果仍然出現錯誤,那就意味着有一些記錄'state'或'zip'(或兩者)的長度與您提供的示例數據中的長度不相同。 – Nicarus
這似乎消除了錯誤,但我只知道如何使它適用於一列。 (West Warwick除外)SUBSTRING(Address2,1,CHARINDEX('',address2 +'')-1)作爲城市 – BIReportGuy