【发布时间】:2017-03-30 20:55:30
【问题描述】:
我想用空格分隔的任何关键字搜索所有字段中的数据
举例
表名:SampleTable
col1 | col2 | col3 | col4 | col5
-----------------------------------------------
my | name | is | john | Abraham
Abraham | is | good | person | null
Name | will | Describe | a | person
如果用户按“是”字词搜索
select * from SampleTable where allColumn=is
它必须将结果带入前两行
my | name | is | john | Abraham
Abraham | is | good | person | null
如果按is name 搜索。它必须带第一行
my | name | is | john | Abraham
如果按Abraham is 搜索。它必须带第一行和第二行
my | name | is | john | Abraham
Abraham | is | good | person | null
它几乎就像搜索引擎。你有什么想法吗?
【问题讨论】:
-
所以搜索是区分大小写的吧?由于搜索“名称”排除了“名称”
-
@mastarhian 不区分大小写。
-
原谅我..是“名字”
-
@mastarhian "is" & "name" 是 2 个单词,这两个单词只出现在一行中。所以我需要那一行
-
至少可以说这是一个非常奇怪的要求。您将需要使用字符串拆分器将用户输入分成单词,然后在任何匹配的列上加入您的表,并计算发送的单词数和特定行匹配的次数。如果有人搜索“姓名”怎么办??
标签: sql sql-server database stored-procedures