我有一个名为Houses
sql server 数据库的表,该表有一列包含(丹麦)地址。在丹麦,街道名称总是在门牌号之前,如果是公寓,则在公寓信息之前。我想将街道名称和号码分成两个字符串,而忽略公寓信息。我的数据如下所示:
Address
Fisker Vejen 48B, 1.TV
Baunevej 29
因此,有些街道名称超过 1 个单词,有些地址包含公寓信息,有些则没有。一些门牌号码也有非数字字符。我希望它是:
Street_Name House_Number
Fisker Vejen 48B
Baunevej 29
我可以使用以下代码提取街道名称:
select case when a.NumStart> 0 then LEFT(a.Address,a.NumStart-1) ELSE a.Address END as Street_Name,
FROM
(select patindex('%[0-9]%',Address) as [NumStart], Address from Houses) a
但是没有楼层信息我不能得到门牌号。任何人都可以帮忙吗?
谢谢!