【发布时间】:2011-09-23 20:09:52
【问题描述】:
我没有太多使用 TSQL 或 SQL Server 的全文搜索功能,所以请耐心等待。
我有一个像这样的表 nvarchar 列 (Col):
Col ... more columns
Row 1: '1'
Row 2: '1|2'
Row 3: '2|40'
我想进行搜索以匹配相似的用户。因此,如果我有一个 Col 值为“1”的用户,我希望搜索返回前两行。如果我有一个 Col 值为 '1|2' 的用户,我希望首先返回第 2 行,然后返回第 1 行。如果我尝试匹配 Col 值为 '4' 的用户,我不会得到任何结果.我想通过拆分我用来查询的值来做一个“包含”,但它不起作用,因为 '2|40' 包含 4...
我查看了有关使用“FREETEXT”关键字的文档,但我认为这对我不起作用,因为我基本上需要使用“|”将 Col 值分解为单词作为休息。
谢谢, 约翰
【问题讨论】:
-
为什么
CONTAINS不起作用? -
我想要与字符串的每个部分完全匹配。 '|'本质上是值之间的中断。 '2' 和 '2|40' 应该匹配,但不匹配 '4' 和 '2|40'
-
您是否只有 2 个值,或者第 4 行是否有类似 2|5|41 的值?
标签: tsql sql-server-2008 full-text-search