在 SQL 中拆分地址字符串

问题描述 投票:0回答:0

我在 sql server 数据库上有一个名为 CUSTTABLE 的表,该表有一列包含地址。在荷兰,街道名称始终位于门牌号之前,如果是公寓,则位于公寓信息之前。我想将街道名称、号码信息分成两个字符串。数据看起来像这样:

CUSTTABLE
Kerkstraat 1
Kleine Kerkstraat 5B
Kerstraat 118B/A5

因此,有些街道名称有多个单词,有些地址有公寓信息,有些则没有。一些门牌号也有非数字字符。我希望它是:

Street_name           House_number
Kerksstraat           1
Kleine Kerkstraat     5B
Kerkstraat            118B/A5

我可以使用以下代码添加街道名称和门牌号。当我使用以下代码时,当数据库中存在“NULL”条目时,我收到错误消息。

LEFT(STREET,PATINDEX('% [0-9]%',STREET)-1)'Street name',
SUBSTRING(STREET,PATINDEX('% [0-9]%',STREET)+1,PATINDEX('%, %',STREET+ ', ')-PATINDEX('% [0-9]%',STREET)-1)'House number',
split substring case patindex
© www.soinside.com 2019 - 2024. All rights reserved.