标签: sql-like

"LIKE"无法按预期工作

在Postgresql 8中为什么这样可以

select * from prod where code like '1%'
select * from prod where code like '%1'
Run Code Online (Sandbox Code Playgroud)

但这会返回0行(有代码以数字1开头/结尾)

select * from prod where code like '1%1'
Run Code Online (Sandbox Code Playgroud)

更新

这发生在我目前的安装中:

# psql --version
psql (PostgreSQL) 8.3.7


create table a(code char(10));
CREATE TABLE
db=# insert into a values('111');
INSERT 0 1
db=# select * from a where code like '1%';
    code
------------
 111
(1 row)

db=# select * from a where code like '%1';
 code
------
(0 rows)

db=# select * from …
Run Code Online (Sandbox Code Playgroud)

postgresql sql-like

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

CREATE TABLE new_table_name LIKE old_table_name,带有old_table_name的AUTO_INCREMENT值

我可以在mysql客户端中创建一个具有旧表自动注册状态的新表吗?

我认为,这ALTER TABLE new_table_name AUTO_INCREMENT=@my_autoincr_iment有助于我,但这种结构必须使用恒定的价值.我不想使用困难的脚本.

mysql create-table auto-increment sql-like

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

MYSQL:喜欢方法,类似的单词 - 但不要显示搜索的单词

实际上,我使用此方法显示搜索请求的相似单词.

$query = "SELECT * FROM searches WHERE Query LIKE '%$search%' ORDER BY Query"; 
Run Code Online (Sandbox Code Playgroud)

如果有人搜索"nelly",它会在数据库中查找类似的单词

"nelly furtado,nelly ft.kelly"......

但我不想出现搜索过的单词..

例如:你搜索过nelly - 试试这个:nelly,nelly furtado,nelly ft.,

粗体词不应再出现了,因为它是搜索过的单词..是否有一种方法可以使用MATCH AGAINST?谢谢!

mysql sql-like

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

SQL Server喜欢%%的语句行为

在性能方面,like运算符在应用于具有多个占位符的字符串时的行为如何?

例如:

select A from table_A where A like 'A%' 
Run Code Online (Sandbox Code Playgroud)

需要相同的时间来选择

select A from table_A where A like 'A%%' 
Run Code Online (Sandbox Code Playgroud)

???

sql sql-server where-clause sql-like

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

SQL喜欢和喜欢

是否可以在一个查询中将多个SQL LIKE通配符串起来 - 这样的话?

LIKE '% aaaa %' AND LIKE '% bbbb %'
Run Code Online (Sandbox Code Playgroud)

目的是找到包含两张外卡但没有特定顺序的记录.

php sql sql-like

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

bindParam用于PDO MySQL查询中LIKE的GET值

是否有任何转换方式

$term = $_GET['p'];
$stmt = $dbh->prepare("
    SELECT      *
    FROM        posts
    WHERE       heading LIKE '%$term%'
    OR          full_text LIKE '%$term%'
    LIMIT       0 , 30
");
$stmt->execute();
$answer = $stmt->fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

INTO之类的东西

$term = "'%" . $_GET['p'] . "%'";
$stmt = $dbh->prepare("
    SELECT      *
    FROM        posts
    WHERE       heading LIKE :term
    OR          full_text LIKE :term
    LIMIT       0 , 30
");
$stmt->bindParam(":term", $term);
$stmt->execute();
$answer = $stmt->fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

这样我可以使用bindParam(":term", $term);而不是'%$term%'在查询中?

我已经在bindParam中查看了这些使用LIKE的MySQL PDO查询使用bindParam的Mysql,PDO-Like语句.但他们没有给我任何正确的答案.

mysql pdo get sqlbindparameter sql-like

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

SQL在搜索不同列时忽略WHERE

我有一个忽略WHERE函数部分的SQL查询.

SELECT col1, col2, col3, col4
FROM table
WHERE col1 = 'yes'
AND col2 = 'no'
AND col3 || col4
LIKE '%maybe%'
Run Code Online (Sandbox Code Playgroud)

如果没有最后一个AND函数,它会返回正确的行,但是使用LIKE函数会返回带有"no"的行col1.

mysql sql where sql-like

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

使用'LIKE'运算符和返回多个结果的子查询

新手到SQL.请帮助.

对于多种模式,我需要计算其中一个字段中具有模式的记录数.我知道如何为一个模式执行此操作,但是当子查询中存在多个模式时,如何获取每个模式的计数.我正在使用Oracle.我将尝试用一个例子来解释.

SELECT count(*) FROM TableA
WHERE 
TableA.comment LIKE '%world%';
Run Code Online (Sandbox Code Playgroud)

现在,此代码将返回TableA.comment字段中任何位置具有"world"的记录数.我的情况是,我有一个第二个查询,它返回了一个像'world'这样的模式列表.我如何获得每个模式的计数?

我的最终结果应该是2列,第一列模式,第二列count_of_pattern.

oracle subquery sql-like

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

在"SELECT CASE"中使用"LIKE"不起作用 - mysql

我有一张数据表.在该表中有一个名为"TypeTag"的列,可以是11位数字或11位数字"_",后跟3个数字.含义:'XXXXXXXXXXX'或'XXXXXXXXXXX_XXX'.

我只需要第一部分 - 所以我写了一个查询:

SELECT 
    (CASE
          WHEN TypeTag LIKE '%_%' THEN LEFT(TypeTag, LENGTH(TypeTag) - 4) 
          ELSE TypeTag 
    END)
FROM `DailyReport` 
WHERE DATE>='2016-07-01'
Run Code Online (Sandbox Code Playgroud)

问题是所有值都返回而没有最后4个字符,情况似乎不起作用(或者LIKE不起作用),因为所有记录都进入第一个"WHEN"而不是"ELSE".

例如,如果我的原始数据集是:

56329856721
56329856722_502
56329856723
56329856724
56329856725_633
56329856726
Run Code Online (Sandbox Code Playgroud)

然后我得到的回应是:

5632985
56329856722
5632985
5632985
56329856725
5632985
Run Code Online (Sandbox Code Playgroud)

我正在使用MySQL(特别是SQLyog).有谁知道我的查询有什么问题?或者如何以我得到所需结果的方式写出条件?

谢谢你们!!

mysql case sql-like

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

在Laravel 5.4列中应用字符串函数

我正在使用最新的Laravel 5.4

我试图通过名称进行简单的查询来搜索用户.为MySQL编写的查询如下所示:

SELECT *
FROM users
WHERE upper(name) LIKE '%FOO%';
Run Code Online (Sandbox Code Playgroud)

我正试图让它与Eloquent合作.我尝试但失败的事情:

  1. User::where('upper(name)', 'LIKE', '%FOO%')->get()

  2. DB::table('users')->where('upper(name)', 'LIKE', '%FOO%')->get()

两者都失败并出现以下错误:

照亮\数据库\ QueryException与消息'SQLSTATE [42S22]:柱未找到:1054未知列'上(名)'在'where子句'(SQL:SELECT*FROM users其中upper(name)LIKE%FOO%)'

查询似乎失败了,因为Eloquent upper(email)用反引号("`","`")包装 语句.有没有办法绕过这个问题或者我是否必须使用特定的雄辩函数将列转换为大写,小写等?

php laravel eloquent sql-like laravel-5

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