基本上我在我的表中有一行,它具有以下格式的值 - 1,2,3,4,10,11,21,34等等.
我正在使用LIKE语句检索值,但由于我正在使用它%<value>%,因此在搜索1时返回11,21,1等等.
如何限制它,基于一个返回值?
可能重复:
如何在Linq中使用SQL Like%?
我使用mvc 3和实体框架.我如何使用linq或lambda表达式进行搜索.请帮助
我理解它的方式,当MySQL执行LIKE查询时,根据您设置查询的方式(%)string(%),搜索字符串会在您选择的内容中查找完全匹配的文本.
我很好奇如何根据找到的匹配对结果行进行排序?
例如,如果针对具有以下内容的表查询我的查询LIKE字符串'frankly':
id content
-------------
1 frankly, i find cake rather delicious
2 frankly, i find cake repulsive, frankly
3 i currently live on franklyn street
Run Code Online (Sandbox Code Playgroud)
任何特定的行都会受到另一行的青睐吗?
当我在我的SQL中使用LIKE语句时,
例如,
SELECT * FROM table WHERE name = "%k"
Run Code Online (Sandbox Code Playgroud)
它将返回所有行,其中name以k结尾.
它可以返回:Ok,OOk,OOOk,
我怎么能做同样的陈述,但只有一个字母,所以它只返回Ok.
或2个字母,所以它只返回OOk?
我有一个查询,可以使用like搜索关键字,但是我也想搜索全文,因此我将其更改为全文搜索查询,但是它不起作用。
工作正常的旧查询:
$data = $this->db
->select('content.title,content.id,content.category,content.body,path')
->from('content')
->join('categories','content.category = categories.id')
->like('content.title', $searchterm)
->like('content.body', $searchterm)
->order_by("content.id","DESC")
->get();
Run Code Online (Sandbox Code Playgroud)
这是我对全文搜索的新查询:
$data = $this->db
->select('content.title,content.id,content.category,content.body,path')
->from('content')
->join('categories','content.category = categories.id')
->where('MATCH (content.body, content.title) AGAINST ("'. $searchterm .'")')
->order_by("content.id","DESC")
->get();
Run Code Online (Sandbox Code Playgroud) 我想要做的是在表中有一个SQL连接.这是它的样子:
Id type message
1 2 'hello'
2 0 'bye'
3 2 'meh'
Run Code Online (Sandbox Code Playgroud)
Id data pieId
1 70 1@2
2 6 2
3 8 1@3@2
Run Code Online (Sandbox Code Playgroud)
这就是两个表的样子,我想要做的是能够选择蛋糕表,data = 70并让它返回蛋糕表的第1行,并返回饼表的第1行和第2行.
我并不在乎它将它们作为单独的表,行,连接或列返回.
我真正想要的是能够让数据库data = 8和能够返回1,2以及3从派表.如果您有任何建议,我真的不在乎它是如何工作的
所以我希望能够查询蛋糕并获得动态数量的馅饼.如果您能想到某种方式,即使是表格也可以改变.
我有一个学生表,其中包含以下行.
ID Name
1 John Smith
2 Hellen Fernandis
3 Ali Abbas
4 Sameer Khan
Run Code Online (Sandbox Code Playgroud)
我想要即使我使用下面提到的查询
Select * from students where name like '%Abbas Ali%'
Run Code Online (Sandbox Code Playgroud)
第3行应该会出现.
以下查询在我的应用程序中正常运行
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, KEY_FAULTREF + "='" + strname+ "'", null,null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
strname是我要搜索的内容,但只会带回与之完全匹配的记录
我想进行修改,以使它包含CONTAINS strname的所有内容(例如,类似strname的东西)
我尝试了以下操作,但我的应用程序崩溃了
db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_FAULTREF,KEY_WORKNUM,KEY_ORIGNUM,KEY_REPBY,KEY_REPDATTIM,KEY_DESCRIPTION}, KEY_REPBY + "LIKE %'" + strname+ "'%", null,null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
我知道它是LIKE声明,但我想在哪里出错呢?
感谢您的帮助
标记
我正在创建一个查询,其中我从多个表中选择数据,但是,我不想选择我的用户当前正在查看的条目.我已经使用AND NOT语法在其他查询中完成了这个但是当与LIKE结合使用时,我仍然返回我不寻找的行?
我运行时语法没有错误但仍然不正确.这是我的查询.
SELECT id AS num, mix_title AS title, table_type AS type, header, post_date, counter
FROM mixes
WHERE keywords LIKE ('%#workout%')
OR keywords LIKE ('%#drunk_fairy%')
AND NOT id='1'
Run Code Online (Sandbox Code Playgroud)
我想上面的代码返回所有LIKE行,但不是id等于1的地方.
抱歉,如果已经提出这个问题,我不太确定如何提出这个问题,谢谢.
我需要选择table1.cloumn它的值何时包含一个值table2.column
我在尝试这个:
select * from Products1 where sku like '%' + (select sku from Products2) + '%'
Run Code Online (Sandbox Code Playgroud)