我们希望实现一个搜索查询,它将在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%')
请告诉我处理这个问题的最佳方法是什么。
您好,从查询中执行“order by”而不执行另一次查询的最佳方法是什么?假设我有一个搜索查询,当我必须使用表单查找姓名或姓氏时,例如:
//Array for storing WHERE part of query
$where=array();
if(!empty($name)) AND !empty($surname)){
$where[]="Name LIKE '%$name%'" .
"AND Surname LIKE '%$surname%'";
我经常需要在bacula目录中找到一个文件来恢复,但是不知道它所备份的路径或jobid,也不知道文件的全名,只知道文件名称的一部分。最佳解决方案是在bacula目录中进行sql搜索。我使用表单的sqlquery命令在bconole中尝试了mysql查询的所有版本:
SELECT FROM Filename WHERE Name LIKE '%filename_portion%';
但是在sql命令的语法上有错误.对任务的正确sql查询格式有任何建议吗?
谢谢安东
我有一个包含first_name', 'last_name' & 'email列的用户数据库。
然后,我试图像这样使用SQL进行搜索:
SELECT *
FROM customers
WHERE email LIKE %?% OR
first_name LIKE %?% OR
last_name LIKE %?%";
因此,假设我的数据库中有关这些列的数据如下:
table tr td{
padding:5px;
}
<table border="1">
<tr><
我正在尝试用PHP和PDO编写一个简单的全文搜索。我不太确定通过SQL和PDO搜索数据库的最佳方法是什么。我找到了这个脚本,但它是旧的MySQL扩展。我写了这个函数,它应该计算搜索匹配,但SQL不工作。传入的搜索字符串如下所示:23+more+people
function checkSearchResult ($searchterm) {
//globals
global $lang; global $dbh_pdo; global $db_prefix;
$searchterm = trim($searchterm);
$searchterm = explo
我正在尝试实现一个简单的搜索,在我的SQL语句中使用LIKE:
Using cmd As New OracleCommand
cmd.Connection = conn
cmd.CommandType = CommandType.Text
cmd.CommandText = "select * from TABLE where FIELD like '%:text%'"
cmd.Parameters.AddWithValue("text", s
试着为我的问题找个答案。如果有人问过类似的问题,请向我指出那一页。
我有一个表单,其中用户在一个或多个文本字段中键入搜索单词。
然后传递给SQL语句:
WHERE st.Description LIKE '%$Description%'
AND st.Number LIKE '%$Number%'
AND st.Color LIKE '%$Color%'
这将返回单词包含用户输入的的任何匹配。
有没有办法,如果用户使用引号(如“搜索词”),它将搜索准确的匹配?
什么是最佳实践?
我不确定这是否是完成我想要完成的任务的最佳方法,但我目前正在尝试使用多个文本框来更改列表框上的活动过滤器。
我有一个主搜索框过滤初始列表框,这也将过滤我的其他几个列表框,也填充相关数据。
当我查看我的其他列表框(不是我的主列表)时,我有希望进一步过滤的数据。所以,我进入另一个文本框,输入任何我想要整理的东西,当我点击第二个“搜索按钮”--这是我得到错误的地方。这是一个语法错误,但我并不完全理解它背后的语法。
除了新的搜索标准外,我还想保留我的初始过滤器。
下面是我的初始搜索按钮后面的代码(这是可行的)
Private Sub Command37_click()
Dim sql As S
在Access中,当我查询联系人表以搜索多个电子邮件地址时,我使用SQL。
select * from contact_table where email like " 'email1@test.com','email2@test.com',
'email3@test.com' "
我没有得到一个错误,但我没有得到搜索结果,当我知道电子邮件在数据库中,我遗漏了什么?
这也是查询Access中电子邮件地址的查找表的最佳方法吗?
假设有人输入此搜索(在表单上):
Nicole Kidman films
我可以使用哪种SQL来查找“最佳”结果?
我想应该是这样的:
SELECT * FROM myTable WHERE ( Field='%Nicole Kidman Films%' OR Field='%Nicole%' OR Field='%Kidman%' OR Field='%Films%' )
我的问题是如何获得最相关的结果?非常感谢!
我试图在Python中形成一个经过清理的查询字符串,以便在SQLite3中使用。它需要采取最终形式:
SELECT * FROM Players WHERE PlayerName LIKE '%bob%'
...so我可以运行模式搜索。
理想情况下我想要一个?在查询中,这样我就可以在运行查询时插入搜索字符串,并防止鲍比表类型事件发生(不必担心这个tbh):
search_string = "bob"
query = "SELECT * FROM Players WHERE PlayerName LIKE '%?%'"
cur.
我们正在尝试更新我们的经典asp搜索引擎,以保护它免受SQL注入。我们有一个VB6函数,它通过基于各种搜索参数将查询连接在一起来动态构建查询。对于除关键字之外的所有参数,我们都使用动态sql将其转换为存储过程。
关键字的问题是,用户提供了可变数量的单词,我们希望为每个关键字搜索多个列。由于我们不能为每个关键字创建单独的参数,那么如何构建安全的查询呢?
示例:
@CustomerId AS INT
@Keywords AS NVARCHAR(MAX)
@sql = 'SELECT event_name FROM calendar WHERE customer_id = @Custome
使用SQL Server时,我有一个要使字符串搜索成为可选的存储过程。
@search是一个参数。如果@search有一个值,我想要搜索字符串,否则如果它是空的,它应该绕过搜索。
我只想知道您对在WHERE中编写可选字符串搜索的最佳方式的看法。
现在我把它当做
AND (@search = '' OR [t4].number like '%'+@search+'%')
但我还不能确定的是,即使@search = ''是真的,like是否也会进行评估
如果它仍然比较OR的两个方面,那么我正在考虑使用这个
AND (CASE WHEN
我有一个有商店数据库的网站。我的网站访问者可以按名称搜索商店,目前SQL查询如下:
SELECT *
FROM tbl_shop
WHERE LOWER(`name`) LIKE LOWER(`%text1%`)
OR LOWER(`name`) LIKE LOWER(`%text2%`)
.....
OR LOWER(`name`) LIKE LOWER(`%textN%`)
这是很好的工作,但问题是,结果不是按最佳匹配排序。有些商店的名字里有非常常见的词(例如。如果您输入此字符串,所有包含"%na%“(这是很多)的沙龙都显示为结果。
因此,访问者可以得到
我编写了以下SQL来计算堆栈溢出(原始这里)上每个标记出现名称“Cthulhu”的次数:
select t.TagName, count (*) 'Tainted'
from Posts p, Tags t, PostTags pt
where p.Body like '%cthulhu%'
and (pt.PostId = p.Id and t.Id = pt.TagId)
group by t.TagName
order by Tainted DESC, t.TagName ASC
它可以工作,但我不习惯手动裁剪SQL;我更习惯使用ORM。我尝试使用CONT
我正在SQL表中进行关键字搜索,在该表中,我希望搜索一组关键字word1, word2, ... , wordn,并在新列中找到这些关键字的标志实例。假设我在[Description]变量#TABLE中查找这些关键字,我使用的查询如下所示:
SELECT *
, (CASE WHEN [Description] LIKE '%word1%' THEN 'word1'
WHEN [Description] LIKE '%word2%' THEN 'word2'
...
我正在尝试生成一个SQL查询,如下所示
SELECT FirstName,
LastName
FROM Names
WHERE (FirstName LIKE '%FNameA%' OR FirstName LIKE '%FNameB%' ....OR FirstName LIKE '%FNameN%')
AND (LastName LIKE '%LNameA%'OR LastName LIKE '%LNameB%'..... OR LastName LIKE '%LNameN%&
我正在尝试编写一个搜索算法,没有什么太高级的,但它不仅仅是field1 =“搜索文本”的位置。我试图在多个字段中搜索所有关键字。
我已经做了一些搜索,似乎我对这个问题的看法与MySQL在其他函数中使用'IN‘不一致,但是我找不到更好的方法,无论是在堆栈溢出上,还是在独立博客和其他教程站点上使用google。
$fields = array('type','suburb','postcode','address'); // Fields in db being searched
$queried = $db->
我的用户现在可以按地址搜索订单。我想要做的是让他们能够用多个标准进行搜索。让他们按地址、城市、州等进行搜索。
我试过使用下面的代码,但它似乎不起作用。
$sql = ("SELECT order_number, sitestreet FROM `PropertyInfo` WHERE `sitestreet` LIKE '%$street%' OR `sitecity` LIKE '%$city%' AND `user` LIKE '$user'");
$result = mysql_query($sql);
我不认为它是在
我有一个数据库,每天添加500+条目的75,000+行。
每一行都有一个标题和描述。
我创建了一个RSS提要,它为您提供特定搜索词的最新条目(例如,将输出搜索词“披萨”的RSS )。
我想知道为此编写SQL查询的最佳方式是什么。现在我有:
SELECT *
FROM 'table'
WHERE (('title' LIKE %searcherm%) OR ('description' LIKE %searcherm%))
LIMIT 20;
但问题是执行查询需要2到10秒。
有没有更好的方法来编写查询,我是否必须缓存结果(我该如何做?)或者更
我正在使用这个sql搜索在我的数据库中查找标题和艺术家。我有一个包含信息的字段,比如“Refer.1570 title artist.mp4”。当我进行搜索时,它是有效的,但只在一个方向上,我希望得到结果,无论我做搜索的顺序…更准确地说,如果我搜索“标题艺术家”,没有问题,我找到了它。如果我搜索“艺术家标题”没办法..。你如何帮助我让php sql双向搜索?
致以最良好的问候,并感谢您的帮助。菲尔
我使用的是以下代码:
if ($search != null) {
$sql = 'SELECT * FROM `catalog` WHERE (`file`LIKE
我被告知,下面的查询作为参数是不安全的:从前端的输入字段搜索可以用于SQL注入。请建议在以下代码中防止SQL注入的最佳解决方案是什么?
@Query("SELECT u FROM User u WHERE lower(u.username) LIKE %:searchFor% " +
" OR lower(concat(u.firstname, ' ', u.lastname)) LIKE %:searchFor% " +
" OR lower(u.email) LIKE %:searchFor%"
上一次我发布了一个关于搜索的问题。在测试了脚本之后,我想尝试一些其他的东西。使用MySQL搜索数据。因为它比使用PHP脚本循环所有东西都要快。我正在用PhpMyAdmin编写脚本,这为我生成了下一个PHP脚本。但是在某个地方有一个错误(悲伤)
"SELECT *
FROM `bigtree_pages`
WHERE `resources` like \'%\"XNCatDesc\": \"%?%\' and `resources` like \'%\"Brand\": \"%?%\' and `re