Sql server 2005 用于在Microsoft C5中拆分Zip和City字段的SQL

Sql server 2005 用于在Microsoft C5中拆分Zip和City字段的SQL,sql-server-2005,split,sql-view,c5,Sql Server 2005,Split,Sql View,C5,我有一位客户正在运行Microsoft C5作为他们的ERP系统,我们应该帮助他们将其集成到CRM系统中。为此,我创建了一个SQL视图,根据我们导入程序的标准映射导入客户所需的字段。问题是这个版本的MicrosoftC5将邮政编码和城市存储在同一个字段中,因此我需要将其拆分为一个邮政编码字段和一个城市字段。问题是zipcode和city之间并没有多少空白的通用模式,zipcode的长度也不一样,以此类推。我已经尝试了很多字符串函数,但我敢打赌,如果你知道如何解决它,这是小菜一碟 以下是我需要拆分

我有一位客户正在运行Microsoft C5作为他们的ERP系统,我们应该帮助他们将其集成到CRM系统中。为此,我创建了一个SQL视图,根据我们导入程序的标准映射导入客户所需的字段。问题是这个版本的MicrosoftC5将邮政编码和城市存储在同一个字段中,因此我需要将其拆分为一个邮政编码字段和一个城市字段。问题是zipcode和city之间并没有多少空白的通用模式,zipcode的长度也不一样,以此类推。我已经尝试了很多字符串函数,但我敢打赌,如果你知道如何解决它,这是小菜一碟

以下是我需要拆分的zipcity Column中的一些值示例:

D-40883  Ratingen
N-4300  Sandnes
S-55117  Jönköping
3650  Ølstykke
PL - 58-100 swidnica dlaska
正如你所看到的,这里我们混合了德国、丹麦、挪威、瑞典和波兰的zipcodes和citynames。这就是我需要拆分的部分


我不知道是否应该尝试使用正则表达式?我不太擅长使用正则表达式,因此非常感谢您的帮助。

请记住,在英国(和其他一些国家),邮政编码位于城市之后(例如南安普顿SO31 4NG)。这让我痛苦了好几次。是的,我知道,这很令人沮丧:(