0

我在 C# 中开发一个 Web 应用程序。网络标准化街道地址。我现在需要做的是:在数据库 sql server 2005 中,我有 3 个表:

1. - Street address that need split, which contains hundreds of addresses
like this:  | streetType stretName number other | all in a same
field.

 2. - All street names of the country, separated by city.

 3. - All street types, example: avenue, street, road, etc.

我需要得到的除法结果是:

street type | stret name | number | other

用sql server、ssis或c#。净我怎么能得到这个结果?

在 sql server 中:表 1 (in) street address to normalize- 字段:

  • id (int aut)
  • 街道地址全部在一个字段中(varchar)

表 2 (out) 归一化地址拆分字段

  • 街道类型(varchar)(例如:大道、道路、街道等)
  • 街道名称(varchar)
  • 街道号码
  • 其他

这是一个例子

这是excel中的一个例子。它由 3 张纸组成:

1. Table address to normalize: Addresses are stored in sql server 2005
I need to normalize. 
2. Table street name by city They are all street names in the country, separated by city. With this normalized direction.
3. - Table street types These are the types of existing street.

这些表有样本记录。我只需要拆分字段,因为我已经可以规范化这是一个带有记录的示例 https://skydrive.live.com/redir.aspx?resid=182141CD87872379!1701 谢谢!!

4

1 回答 1

0

您有几种尝试解析地址的选项:

  1. 自定义 T-SQL 命令:好处是您现在可以使用您的代码执行此操作。在 CASE 语句中包含大量 CHARINDEX、PATINDEX 和 SUBSTRING 命令。缺点是您可能无法正确识别所有模式并且可能会引入错误。此外,如果您有全球地址,那么可能有许多不同的地址模式,您可能会犯很多错误。

  2. CozyRoc Address Parse for SSIS:如果您只解析美国地址,那么这是一个很好的解决方案。好处是您不必编写解析代码。缺点是这要花钱,而且只适用于美国地址。我自己使用过这个产品,所以我可以说它对我的目的很有效。

  3. 其他第 3 方地址解析器:除了 CozyRoc,还有许多其他地址解析器。我没有使用过它们中的任何一个,但我相信它们很多都一样好或更好。

于 2013-09-29T16:42:04.893 回答