我得到了一个完全有效的搜索查询,但前提是我使用了正确的术语(即'iPhone 6 Plus‘,但如果我只搜索'iPhone’,它将不会返回任何内容。
我的搜索查询是:SELECT * FROM products WHERE name LIKE '" . $term . "' OR brand LIKE '" . $term . "' LIMIT 0 , 30"
那么,我如何才能创建更好的查询来进行更好的搜索呢?
非常感谢所有能提供帮助的人。
即使我不知道大小写的确切拼写,我如何搜索用户,例如
SELECT * FROM USER WHERE U.NAME = 'STEVEN';
含义:如果一个用户的名字是"Steven“或"sTEVEN”,我怎么能搜索所有有这个名字的人呢?
我试过了,但它不起作用。
WHERE email LIKE '%GMAIL%'
当大小写为小写时不起作用。
看看下面的例子。它表明,在unicode字符串(nvarchar)中搜索几乎是在varchar字符串中搜索的八倍。与隐式转换不相上下。寻找对此的解释。或者一种更有效地在nvarchar字符串中搜索的方法。
use tempdb
create table test
(
testid int identity primary key,
v varchar(36),
nv nvarchar(36),
filler char(500)
)
go
set nocount on
set statistics time off
insert test (v, nv)
sel
我有一个mysql数据库,需要对varchar列执行搜索。所有数据都用latin1编码。有时,这些列中有西方口音的字符(对我来说,几乎总是法语)。使用默认的排序规则(latin1_swedish_ci)对我来说一直都很好。但是现在我对一些包含umlauts的数据有了问题。如果我搜索"nusserhof“,我希望mysql返回"nüsserhof",但事实并非如此。将排序规则更改为latin1_german1_ci在最简单的意义上解决了问题,例如,此查询工作,返回包含单词“nüsserhof”的所有行:
select * from mytable where mycolu
我在PostgreSQL中遇到了一个排序问题,数据如下:
name
-----
@CF
@CG
CD
CE
我使用了select name from table order by name,结果如下:
name
-----
CD
CE
@CF
@CE
Postgres似乎忽略了特殊字符@,并对左边的字符串进行了排序。但是,我希望它是这样排序的:
name
-----
@CF
@CG
CD
CE
在网上搜索也没什么用。我希望这里的人能给我一个建议。
我正在对Adroid SQLite本地数据库进行查询。我的数据库使用排序规则。
... ORDER BY name COLLATE LOCALIZED
我发现搜索必须是。示例:
... ORDER BY name COLLATE NOCASE
我如何在一起使用两个校对器?
如果有必要,我也可以操作传入的数据本身。但我想使用SQLite内置功能。