我创建了一个向用户发送邮件的应用程序。
我正在使用一个数据库,其中一些用户分配了多个电子邮件地址。
Name Mail
-----------------------------------------
BusinessXPTO [email protected];[email protected]
电子邮件列可以包含多个电子邮件,以分号分隔。
我想分割字符串,这样我就可以将每封电子邮件放在不同的行上。
Name Mail
-----------------------------------------
BusinessXPTO [email protected]
BusinessXPTO [email protected]
最好的解决方案是什么?
Thanks
下面是一个使用 SQL Server 2005 及更高版本中的 XML 功能的简单示例。我逐字逐句摘自here但如果你用谷歌搜索“split string sql server xml”,就会有很多例子
DECLARE @xml as xml,@str as varchar(100),@delimiter as varchar(10)
SET @str='A,B,C,D,E'
SET @delimiter =','
SET @xml = cast(('<X>'+replace(@str,@delimiter ,'</X><X>')+'</X>') as xml)
SELECT N.value('.', 'varchar(10)') as value FROM @xml.nodes('X') as T(N)
还有其他使用光标的解决方案,但这种方法对我来说效果很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)