从地址获取街道名称和Apt号码

时间:2013-04-15 22:29:12

标签: sql sql-server tsql

感谢您查看我的帖子,好久以来我一直在摸不着头脑,现在这个声音非常简单的要求变得艰难,下面是要求....

我需要分开(街道号码,街道名称,套房\ Apt信息或找到的任何拉链)

地址如下所示:

  1. 123 Main St
  2. 123 NW.17 St
  3. One Washington Way,Suite 405
  4. 1 Governement Dr#400,Washington,01211
  5. 到目前为止,我能够分出123 Main St,但每当我在我的字符串中使用Char \ Pat索引时,第2行上方的地址就会变得粗糙(如NW NW St)

    我的主要方法是打破htis字符串,然后把它放在一张桌子上然后用来装...... [/ p>

    非常感谢任何帮助。

2 个答案:

答案 0 :(得分:8)

根据我的经验,解析地址是一场噩梦。可能至少有十几种方法来表示相同的地址,你将有一个艰难的时间来提出一个可靠的方法来拉动它们。

我的建议是将您拥有的任何地址传递给地图服务(谷歌,雅虎等)并使用他们传回给您的结果。比你和我更聪明的人找到了一种非常可靠的方法来做到这一点。我建议利用他们提供的服务。

答案 1 :(得分:-2)

嗯,这是我的替代建议,而不是你问题的答案。

字符串操作操作总是非常关键和繁琐的工作,很多时候它不能完美地工作。

我有一个非常好的替代选项,你想要的。 而不是单行地址最好分成不同的部分。

e.g。 street1 STREET2 市 州 国家

现在,在数据库中,您可以创建XML数据类型,并将所有上述字段存储为XML格式字段中的一个,如

<Address>
    <street1>data1</street1>
    <street2>data2</street2>
    <city>data3</city>
    <state>data4</state>
    <country>data5</country>
</Address>

优点:

1.如果用户不想输入任何字段或者您不想显示任何字段,现在您可以灵活地插入和检索数据,那么这是最好的方法。
2.它也会给你很好的表现,因为XML解析比字符串操作更快 3.XML比字符串操作返回更准确。