首页 > 解决方案 > SQL:如何拆分非逗号分隔的字符串

问题描述

我目前正在使用将人们的名字和姓氏存储为单个字符串的数据库表。归根结底,这并不是什么大不了的事,但我至少想尝试让它看起来更好。这是我的输出当前的样子:

ID      PersonName
-------------------
0001    JohnSmith
0002    JaneDoe
0003    MikeJones

如果可能的话,我希望它看起来像以下之一:

ID      PersonName              ID      FName    LName
-------------------             -----------------------
0001    John Smith              0001    John     Smith
0002    Jane Doe                0002    Jane     Doe
0003    Mike Jones              0003    Mike     Jones

在大多数情况下,表中的所有名称都具有相同的FirstLast格式,大写字母表示每个名称的开头。但是,我看到了一些问题,例如JaneDoe Smith带有空格的连字符或双重姓氏,JohnSmith Sr或者它们有额外的首字母,例如C MichaelJones.

即使无法解释具有不同格式的格式,我仍然很好奇是否真的有办法拆分其他格式。到目前为止,我阅读的所有其他论坛帖子都只是解释如何拆分逗号分隔的字符串或具有易于挑选的其他特殊标记/符号的字符串。

标签: sqlsql-server

解决方案


推荐阅读