使用SQL Server,如何拆分字符串以便访问项目x?
拿一个字符串"Hello John Smith".如何按空格分割字符串并访问索引1处应该返回"John"的项目?
可能重复:
SQL中的拆分字符串
我在SQL中看到了几个与字符串连接相关的问题.我想知道你将如何处理相反的问题:将昏迷分隔的字符串拆分为数据行:
可以说我有桌子:
userTypedTags(userID,commaSeparatedTags) 'one entry per user
tags(tagID,name)
Run Code Online (Sandbox Code Playgroud)
并希望将数据插入表中
userTag(userID,tagID) 'multiple entries per user
Run Code Online (Sandbox Code Playgroud)
灵感来自数据库中没有哪些标签?题
编辑
谢谢你的答案,实际上有一个值得接受,但我只能选择一个,而Cade Roux提出的递归解决方案对我来说似乎很干净.它适用于SQL Server 2005及更高版本.
对于早期版本的SQL Server,可以使用miies提供的解决方案.对于使用文本数据类型,wcm answer会很有帮助.再次感谢.
我想把'1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ......'(逗号分隔)拆分成表或表变量.
有没有人有一个函数可以连续返回每一个?