0
我有成千上萬的有能力的單場串在一起商戶名稱和地址記錄(NameAddress):替代表達與價值觀另一個表
Microsoft 1 157th Ave NE Redmond WA 98052
Apple Inc 1 Infinite Loop Cupertino CA 95014
Kraft Beton GmbH Industriestraße 123 1220 Wien
Pletzenauer Holzbau GmbH Moosnerweg 9 6382 Kirchdorf in Tirol
我想解析出城市進入他們自己的領域。我有一個查詢,這是否良好,但會爲一個城市一次只能工作:
CASE WHEN CHARINDEX('wien',NameAddress) > 0 THEN
SUBSTRING(NameAddress,(CHARINDEX('wien',NameAddress)),LEN('wien')) ELSE '' END
AS City
我有一個包含所有這些城市的名字的表格dbo.geography。是否有可能使用該表中的值作爲上述查詢中CHARINDEX和LEN命令中的表達式?
實質上,我正在運行一次檢查,看看字符串是否包含另一個表中的任何值,如果是,則創建一個包含該值的子字符串。
爲了減少誤報的次數,您可以在調用CHARINDEX時在城市名稱前後添加空格。假設城市名稱始終位於地址的中間(從不在最後),這就像是一個「全字」搜索。 – acfrancis
非常感謝!你的答案完美無缺。現在我需要從字符串的開頭突出名稱,我想我需要一種不同的方法。我知道有可能創建一個到達某個點的所有字符的子字符串,即「Inc.」。是否有可能爲多種標準做到這一點,即Inc.或Corp.或Ltd.等?我將所有業務實體類型存儲在一個單獨的表中。 – gnarkill619
是的,這是可能的。我想你可以使用類似的方法。 – Szymon