【问题标题】:Separate street name from house number?将街道名称与门牌号分开?
【发布时间】:2012-01-30 22:57:57
【问题描述】:

在表格中我有一个客户地址列表,在street 字段中,我想将街道号码复制到house_number 字段中。

例如,街道名称:

  • 布拉路 8 号

  • 布拉路 604 号

  • 布拉街 20A 号

  • 布拉巷 10-15 号

  • 布拉街 42/5 号

所以门牌号是:8、604、20A、10-15、42/5

在 SQL Query 或 PHP 中有可能吗?

【问题讨论】:

  • 在所有这些示例中,门牌号是第一个“单词”(直到第一个空格)。您的所有数据都是这样吗?
  • 在第一个空格字符上分割?
  • 有多少条记录?是否有一个明确的模式可以可靠地应用于每条记录?
  • 而且这个国家的每个房子都有一个号码?房子有名字而不是数字呢?
  • P.O. 怎么样?盒子(或其国际标准)?

标签: php mysql sql database


【解决方案1】:

如下所示:

从第一个空格中断开字符串。

 update table set house_number=SUBSTRING_INDEX(street," ");

注意:在这种情况下,门牌号始终是街道价值中的第一个“单词”

【讨论】:

    【解决方案2】:

    也许您可以编写一些 PHP,您可以根据正则表达式更新每一行?

    RegEx 看起来像:

    (\d+\w*)\s(.*)

    我希望 1 美元是门牌号,2 美元是街道名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      • 1970-01-01
      • 2021-12-31
      相关资源
      最近更新 更多