【发布时间】:2013-12-11 22:11:15
【问题描述】:
我有数以千计的公司名称和地址记录在一个字段 (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 命令中的表达式?
本质上,我正在检查字符串是否包含另一个表中的任何值,如果是,则创建一个包含该值的子字符串。
【问题讨论】:
标签: sql parsing expression charindex