可能重复:
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会很有帮助.再次感谢.
使用四个不同的唯一条件,通过参数中单词的数量(计数)/匹配对sql varchar列进行排名的最佳方法是什么?这可能不是一个微不足道的问题,但我挑战根据"最佳匹配"使用我的标准来排序行.
column:description varchar(100)参数:@MyParameter varchar(100)
使用此订单首选项输出:
单词可能不完全匹配,因为单词的部分匹配是允许的,并且可能,lessor值应该应用于部分单词以进行排名但不是关键的(pot将匹配每个:pot,potter,potholder,depot,depotting).与其他单词匹配开始应该排名高于没有后续匹配的那些,但这不是交易杀手/超级重要.
我想有一个方法来排名列"以"开头"参数中的值".说我有以下字符串:
'This is my value string as a test template to rank on.'
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,我希望得到最大字数存在的列/行的等级.
并且第二个基于开始时的出现(最佳匹配)排名为:
'This is my string as a test template to rank on.' - first
'This is my string as a test template to rank on even though not exact.'-second
'This is my string as a test template to rank' - third
'This is my string as a test template to' - next
'This …Run Code Online (Sandbox Code Playgroud)