在SQL Server 2008中拆分全名并将其写入另一个表
我有一个表,比如a,其中有一列全名。此列下存储的值的格式为“姓氏名称中间名”(每个值之间有一个空格)。我还有另一个表B,其中有姓、名和名列。从表A中提取所有全名单元格,将其相应拆分并插入表B的最佳方法是什么在SQL Server 2008中拆分全名并将其写入另一个表,sql,sql-server,database,split,Sql,Sql Server,Database,Split,我有一个表,比如a,其中有一列全名。此列下存储的值的格式为“姓氏名称中间名”(每个值之间有一个空格)。我还有另一个表B,其中有姓、名和名列。从表A中提取所有全名单元格,将其相应拆分并插入表B的最佳方法是什么 感谢您,您可以将用于搜索字符串中的事件(通常返回其索引)的函数与子字符串函数组合在一起,此外还需要左函数和右函数 例如,在SQL Server中,您可以找到以下函数: 步骤: 使用左侧获取第一个单词(整数表达式=第一个单词的索引 Emtpy空间) 使用子字符串获取中间单词(start
感谢您,您可以将用于搜索字符串中的事件(通常返回其索引)的函数与子字符串函数组合在一起,此外还需要左函数和右函数 例如,在SQL Server中,您可以找到以下函数: 步骤:
注意,如果中间有空格(例如anna maria的第一个名字),这将无法正常工作。
< p>可以将字符串中出现的函数(通常返回其索引)与子字符串函数结合起来,此外,还需要左右函数 例如,在SQL Server中,您可以找到以下函数: 步骤:注意,如果你有任何名字,包括中间空格(例如anna maria的第一个名字),这将无法正常工作。
< P>此查询将删除字符串。select left(FULLNAME,CHARINDEX(' ',FULLNAME)), SUBSTRING(FULLNAME,CHARINDEX(' ',name)+1,len(FULLNAME)) from tableA
此查询将溢出您的字符串
select left(FULLNAME,CHARINDEX(' ',FULLNAME)), SUBSTRING(FULLNAME,CHARINDEX(' ',name)+1,len(FULLNAME)) from tableA
添加表格结构,有助于理解问题。另外,您使用的是哪种RDBMS,MS SQL Server,MySQL,PostgreSQL。。。?你试过什么?发布一些工作查询,不管结果是否不正确,这是一个起点,也许你离解决方案不远了。如果可能,也发布一些测试数据。您可以使用来提供所有这些信息。我使用的是MS SQL Server。另外,我试着看一些像这里描述的用户定义函数,但我对所有这些都有点陌生(很明显,你可以告诉我),对这些几乎没有概念。写全名示例..添加你的表结构,这有助于理解你的问题。另外,您使用的是哪种RDBMS,MS SQL Server,MySQL,PostgreSQL。。。?你试过什么?发布一些工作查询,不管结果是否不正确,这是一个起点,也许你离解决方案不远了。如果可能,也发布一些测试数据。您可以使用来提供所有这些信息。我使用的是MS SQL Server。另外,我试着看一些像这里描述的用户定义函数,但我对所有这些都有点陌生(你可以很明显地看出),对这些几乎没有概念。。