我们希望实现一个搜索查询,它将在SQL中的特定列上执行全文搜索。我们可以直接在SQL中完成,也可以像下面TomC所建议的那样在C#中完成。查询将由用户输入,例如-
(A AND B) OR (C AND D)
我们希望将此搜索文本转换为SQL查询,如下所示-
WHERE (col LIKE '%A%' AND col LIKE '%B%') OR (col LIKE '%C%' AND col LIKE '%D%')
请告诉我处理这个问题的最佳方法是什么。
我需要创建一个脚本,将在10个表上使用非常相同的结构。我必须在每个表中引用两列,其中的列是搜索项提要,我需要在匹配的提要字段中搜索每个搜索项,并确认它是字段提要,是否包含它。我想过使用charindex,但不确定这样做是否合适,以及如何对每条记录执行此操作。
SELECT CHARINDEX(searchitem, feed)
FROM Production
WHERE not searchitem is null.
为了清楚起见,我只需要一次将搜索应用于一个表,这意味着在一个表中搜索该表中所有记录的提要值中的searchite值
编辑...
select id,searchterm,feed
SELECT
SUBSTRING(campaign_name,CHARINDEX(‘[’,campaign_name)+1,
(((LEN(campaign_name))-CHARINDEX(‘]’,REVERSE(campaign_name)))-
CHARINDEX(‘[’,campaign_name))) as campaign_code
FROM table
这段代码当前给出了字段campaign_name中'‘和'’之间的子字符串。但是,对于campaign_name字段中的几个条目,没有'‘或'’。在这些情况下,上面的代码返回字段中的整个字符串。相反
所以我有一个参数。让我们说:
@Tags = 'Red,Large,New'
我的桌子上有一个名为标签的字段
让我们假设某一行字段包含"Red,Large,New,SomethingElse,AndSomethingElse“
我怎样才能把它分开,以基本上实现以下逻辑,我将键入以便于理解,但我知道这是错误的:
SELECT * FROM MyTable WHERE
Tags LIKE 'FirstWordInString'
AND Tags Like 'SecondWordInString'
AND Tags Like 'Thir
我正在尝试编写一个查询,它将在数据库中找到相似的地址。
例如,用户可能会键入各种可能不正确的地址。结果应该显示一个类似的地址。
例如,用户可能会搜索-
"177 pleasant street"
"177 pleasant st"
"177 pleasant road"
我如何实现这一点?
到目前为止我已经试过了-
SELECT * FROM Table WHERE Address LIKE '%177 pleasant st%' AND ...etc...
我有两张桌子:
User
---------------------
id primary key
name varchar
mobile varchar
示例数据:(1, airtel, '9887456321,6985326598,88523695874')
Client
---------------------------
id primary key
clientname varchar
mobileno varchar
示例数据:(1,John D
我有一个数据网格和一个搜索字段。我已经设置了搜索字段的change事件来运行datagrid的filterfunction。我可以匹配整个词条,但我希望能够使用正则表达式进行渐进式搜索(例如,"Pe“匹配"Peter")。我试图创建一个正则表达式来比较字段,但似乎无法使其工作。如何返回RegExp的结果?下面是当前的函数
private function usersFilter(item:XML):Boolean {
var searchResult:XMLList;
var searchCheck:RegExp = /[^a-zA-Z]*/
v
我正在尝试比较两个varchar字段,看看它们是否相似,但我在任何地方都遇到了一些问题。我试过使用SOUNDEX和DIFFERENCE,但它们不能满足我的需求。
这就是我正在尝试做的:
Column 1 Column 2 Column 3
123 456 456 123 Should show 1 or "Yes"
123 456 789 987 Should show 0 or "No"
这通常是一个排序代码和帐号,但它们经常在字段中交换,所以我试图将它们剔除
任何帮助都是最好的
我需要从系统中删除用户,搜索是基于他们的电子邮件。然而,由于一些奇怪的验证,一些用户在电子邮件中使用了单引号和通配符(%)。
当我尝试删除用户时,它抛出了一个错误,因为有单引号和其他奇怪的字符。我可以直接在数据库中清理,但是,我想看看我是否可以搜索他们的电子邮件中的所有垃圾邮件,并仍然直接从应用程序删除用户
对于ex:
DELETE FROM Customers
WHERE Email = 'test@yahoo.com'@countag%and1=1''
我需要搜索一个字符串字段中的模式,其中包含电子邮件和一个附加的评论。以下是一个例子:
Dear XXX: We are sorry to inform you that your
application has been put on hold because YYY.
Additional comments: this application was not held for ZZZ.
我正在寻找的模式是"ZZZ“在电子邮件正文。但不是在评论里。如果我只做field like 'ZZZ',我就会捡到这张唱片,这不是我想要的。在这种情况下,有什么方法可以准确地进行
我想用任何用空格分隔的关键字搜索所有字段中的数据。
,例如
表名:SampleTable
col1 | col2 | col3 | col4 | col5
-----------------------------------------------
my | name | is | john | Abraham
Abraham | is | good | person | null
Name | will | Describe | a | person
如果用户按单词'is‘select
尝试使下面的查询整洁并运行得更快。任何见解都是有帮助的。我必须使用like运算符,因为需要在字段中的任何位置搜索模式。
Select Col1,Col2,Col3 from TableName where
(Subject like '%Maths%' OR
Subject like '%Physics%' OR
Subject like '%Chemistry%' OR
Subject like '%English%')
AND
(Description like '%Mat
我正在为api中的用户实现一个搜索功能。搜索将查询我们的数据库以获取匹配搜索项的第一个N个用户。我想订购后的用户“最佳匹配”,所以最相关的用户是顶部。
我想做的是:
var users = await _dbContext.Users
.IncludeUserData()
.Where(u => u.Name.Contains(searchTerm))
.OrderBy(u => u.Name.IndexOf(searchTerm)) <- This row is not possible
.ToListAsync();
其中,包含早期搜索词的名称在其
我试图找出为什么这个语法是错误的,我不是这样做的:
update Entry
set Name = Case charindex('/', reverse(Name))
when charindex('/', reverse(Name)) > 0 then right(Name, charindex('/', reverse(Name)) -1)
when charindex('/', reverse(Name)) < 0 then Name
我正在做一个搜索页,我必须搜索一个单一的文本框多个字段。因此,我将在存储过程中以CSV字符串的形式获取搜索文本
我的表格如下
ID Name age
5 bob 23
6 bod.harry 34
7 charles 44
我需要一个类似下面这样的sql查询
declare @searchtext='bob,harry,charley'
select * from employee where name like (@searchtext)
这个查询应该返回这两条记录(id
我们使用实体框架来访问数据库,当我们“思考”LIKE语句时,它实际上会生成CHARINDEX内容。因此,这里有两个简单的查询,在我简化它们以证明在我们的特定服务器上的观点后:
-- Runs about 2 seconds
SELECT * FROM LOCAddress WHERE Address1 LIKE '%1124%'
-- Runs about 16 seconds
SELECT * FROM LOCAddress WHERE ( CAST(CHARINDEX(LOWER(N'1124'), LOWER([Address1])) AS int))
这有点令人费解,但希望它是有意义的。我正在尝试找出是否有一个查询或一些技巧可用于执行以下操作。(我实际上使用的是Netsuite,所以它不完全是SQL,但它们支持SQL命令的一个基本子集,所以如果可能的话,我可能会找到一种方法来实现它。)
我有一个表(Netsuite中的自定义记录),其中包含一些我们用作欺诈检查的客户地址字段。欺诈客户倾向于通过添加假套间号码或其他后缀来使用同一假地址的各种咒语。我们所做的是在表中设置我们的记录,使其具有街道地址的公共部分(如"123 Main Street"),而不添加额外的内容(如"suite 12345")。当下欺诈订单时