我想做一个包含'like'和'not like'的查询.
当前示例:我希望所有内容都以"1 |%"开头,但不是"1 | 6 | 199 |%"或"1 | 6 | 200 |%".
当前查询:
'SELECT * FROM `links` WHERE `category` LIKE '1|%' NOT LIKE '1|6|199|%','1|6|200|%' ORDER BY `score` DESC LIMIT 9'.
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有小费吗?谢谢
我对SQL很陌生,希望有人可以帮助我.
我有一个存储过程,我想根据列是否包含某个国家/地区来传递不同的值.
到目前为止,我只CASE在检查具有特定数字或值的匹配时使用,所以我不确定这个.有人可以告诉我以下是否有效和正确或让我知道如何正确地写这个(只是关于括号中的部分)?
(CASE countries
WHEN LIKE '%'+@selCountry+'%' THEN 'national'
ELSE 'regional') AS validity
Run Code Online (Sandbox Code Playgroud)
注意: @selCountry是国家/地区的变量名称,国家/地区可以为空,一个国家或多个国家/地区以逗号和空格分隔.基本上我只想检查国家是否包含@selCountry,如果是,则将有效性设置为"国家".
什么是匹配字符串(在本例中为文件名)的正则表达式,以"运行"开头,文件扩展名为".py"?
正则表达式应匹配以下任何一项:
RunFoo.py
RunBar.py
Run42.py
Run Code Online (Sandbox Code Playgroud)
它不应该匹配:
myRunFoo.py
RunBar.py1
Run42.txt
Run Code Online (Sandbox Code Playgroud)
我正在寻找的SQL等价物... LIKE 'Run%.py' ....
我一直以为你可以OR在一个LIKE语句中用来查询MySQL中的东西.所以,如果我想将一行中的多个字段与1个关键字或术语进行比较:
SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword%';
Run Code Online (Sandbox Code Playgroud)
如果我有一系列的词比较:
SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword1%'
AND Column1 OR Column2 LIKE '%keyword2%';
Run Code Online (Sandbox Code Playgroud)
但是,我不相信语法是正确的.是否有一种有效的方法可以将此写为:
SELECT * FROM MyTable WHERE Column1 LIKE '%keyword1%' OR Column2 LIKE
'%keyword1%' AND Column1 LIKE '%keyword2%' OR Column2 LIKE '%keyword2%';
Run Code Online (Sandbox Code Playgroud)
我正确地谈到这个吗?
我有一个存储过程,使用LIKE操作员在一些其他参数中搜索卡车位置
@location nchar(20),
@time time,
@date date
AS
select
DonationsTruck.VechileId, Phone, Location, [Date], [Time]
from
Vechile, DonationsTruck
where
Vechile.VechileId = DonationsTruck.VechileId
and (((Location like '%'+@location+'%') or (Location like '%'+@location) or (Location like @location+'%') ) or [Date]=@date or [Time] = @time)
Run Code Online (Sandbox Code Playgroud)
我将其他参数置零并仅按位置搜索,但即使我使用该位置的全名,它也始终不返回任何结果
我有一个查询,我生成我们的每月客户联系活动.我们有几个类别(电子邮件,电子邮件,电话,电话呼叫等).有8种不同的"类型"结果.我需要有两个小组 - 一个用于所有"电子邮件",一个用于所有"电话".目前,我有一个WHERE TYPE LIKE'%Email%'和TYPE LIKE'%Call%'.但是,我无法通过这两个"LIKE"语句进行分组.有谁知道我怎么能最好地实现这一目标?
我将查询简化为此示例:
SELECT TYPE
FROM dbo.HISTORY
WHERE (TYPE LIKE '%email%') OR
(TYPE LIKE '%call%')
Run Code Online (Sandbox Code Playgroud) 通配符*只能在单词的末尾使用,例如user*.
我想查询一下%user%,怎么做?
我正在尝试选择此数据库字段具有字符串但不包含特定值的所有实例.
示例:我正在尝试选择"红色椅子"的每个实例,其中"红色椅子"不是"大".如果我在下表中运行该查询,我只会得到ID为2的行:
+----------+--------------+---------+ | ID | content | +----------+------------------------+ | 1 | The big red chair | | 2 | I have a red chair | | 3 | I have a big chair | +----------+------------------------+
提前致谢!
我正在尝试从我的数据库中检索信息.
我有像Lim Won Mong和的话Limited.
如果我做我的查询,SELECT name FROM memberdb WHERE name LIKE '%LIM%'时,会显示这两个Lim Won Mong和Limited我只希望从数据中Lim Won Mong.
我应该如何重写我的查询?
我们正在运行许多产品搜索一个包含部分匹配条形码的大型目录.
我们从简单的查询开始
select * from products where barcode like '%2345%'
但这需要太长时间,因为它需要全表扫描.我们认为全文搜索将能够帮助我们使用contains.
select * from products where contains(barcode, '2345')
但是,似乎包含不支持查找部分包含文本的单词,但只支持单词匹配或前缀.(但在这个例子中我们正在寻找'123456').