小编Ald*_*oni的帖子

LIKE vs SQL Server上的CONTAINS

以下哪个查询更快(LIKE vs CONTAINS)?

SELECT * FROM table WHERE Column LIKE '%test%';
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * FROM table WHERE Contains(Column, "test");
Run Code Online (Sandbox Code Playgroud)

sql-server performance contains sql-like

190
推荐指数
4
解决办法
89万
查看次数

SQL'LIKE'查询使用'%',其中搜索条件包含'%'

我有一个SQL查询如下.

Select * from table 
where name like '%' + search_criteria + '%' 
Run Code Online (Sandbox Code Playgroud)

如果search_criteria ='abc',它将返回包含xxxabcxxxx哪个数据的数据.

但是如果我的search_criteria ='abc%',它仍将返回包含的数据xxxabcxxx,但不应该是这种情况.

我该如何处理这种情况?

sql sql-server sql-like

34
推荐指数
4
解决办法
35万
查看次数

与列名称上的%相似

这是我的查询导致语法错误:

SELECT * 
FROM account_invoice,sale_order
WHERE sale_order.name LIKE %account_invoice.origin%
Run Code Online (Sandbox Code Playgroud)

account_invoice.origin字段包含sale_order.name的文本以及其他文本,因此我需要在account_invoice.origin字符串中的任何位置匹配sale_order.name字符串.

我正在使用PostgreSQL 8.4.

postgresql sql-like

30
推荐指数
1
解决办法
2万
查看次数

SQL SELECT WHERE字符串以Column结尾

我在SQL Server 2012中有这个表:

Id INT 
DomainName NVARCHAR(150)
Run Code Online (Sandbox Code Playgroud)

并且该表具有这些DomainName值

  1. google.com
  2. microsoft.com
  3. othersite.com

这个值:

mail.othersite.com
Run Code Online (Sandbox Code Playgroud)

我需要选择字符串以列值结束的行,对于此值,我需要获取行no.3 othersite.com

它是这样的:

DomainName Like '%value' 
Run Code Online (Sandbox Code Playgroud)

但反过来......

'value' Like %DomainName
Run Code Online (Sandbox Code Playgroud)

sql sql-server select sql-like

29
推荐指数
1
解决办法
6万
查看次数

喜欢和不喜欢在一个mysql查询中

我想做一个包含'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)

但这不起作用.有小费吗?谢谢

mysql sql-like

19
推荐指数
1
解决办法
7万
查看次数

在MySQL中的LIKE查询中使用OR来比较多个字段

我一直以为你可以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)

我正确地谈到这个吗?

mysql sql-like

18
推荐指数
2
解决办法
5万
查看次数

从HTTP切换到HTTPS,失去所有Facebook"喜欢"计数

两个月前我有一个站点切换到https://www.example.com,它失去了所有'喜欢'的数量.

即使我使用facebook fql查询,它现在在http://和https:/之间具有相同的计数

有人知道这是不是facebook的bug?或者有一个解决方法来检索旧的计数?

非常感谢您的帮助.

facebook facebook-like

17
推荐指数
2
解决办法
2万
查看次数

在Oracle IN子句中使用LIKE

我知道我可以编写一个查询,它将返回给定列中包含任意数量值的所有行,如下所示:

Select * from tbl where my_col in (val1, val2, val3,... valn)
Run Code Online (Sandbox Code Playgroud)

但是,如果val1,例如,可以出现在任何地方my_col,其数据类型为varchar(300),我可能会写:

select * from tbl where my_col LIKE '%val1%'
Run Code Online (Sandbox Code Playgroud)

有没有办法梳理这两种技术.我需要搜索可能出现在列的自由格式文本中的任何位置的30个可能值.

以下列方式组合这两个语句似乎不起作用:

select * from tbl where my_col LIKE ('%val1%', '%val2%', 'val3%',....) 

select * from tbl where my_col in ('%val1%', '%val2%', 'val3%',....)
Run Code Online (Sandbox Code Playgroud)

sql oracle sql-like

16
推荐指数
5
解决办法
13万
查看次数

使用SQLServer包含部分单词

我们正在运行许多产品搜索一个包含部分匹配条形码的大型目录.

我们从简单的查询开始

select * from products where barcode like '%2345%'

但这需要太长时间,因为它需要全表扫描.我们认为全文搜索将能够帮助我们使用contains.

select * from products where contains(barcode, '2345')

但是,似乎包含不支持查找部分包含文本的单词,但只支持单词匹配或前缀.(但在这个例子中我们正在寻找'123456').

sql-server contains sql-like azure-sql-database

16
推荐指数
3
解决办法
6690
查看次数

如何更快地在SQL表中搜索数百万条记录?

我有几百万个域名的SQL表.但现在当我搜索让我们说

SELECT * 
  FROM tblDomainResults 
 WHERE domainName LIKE '%lifeis%'
Run Code Online (Sandbox Code Playgroud)

获得结果需要10分钟以上.我试过索引,但没有帮助.

存储这数百万条记录并在短时间内轻松访问这些信息的最佳方法是什么?

到目前为止,大约有5000万条记录和5列.

sql query-optimization sql-like

13
推荐指数
4
解决办法
3万
查看次数