标签: sql-like

MySql搜索两个表并将列与like和%进行比较

我试图从两个表中选择数据并将其插入另一个表中.我希望在每个表中的某些内容匹配时选择数据.问题是其中一个比较需要是一样的,我不知所措.sql语句在下面,我相信它至少会显示我想要做的事情.

insert into hr_numbers 
  (`user_id`, `hr_number`) 
  select distinct u.user_id, t.num 
    from temp t, users u 
   where t.name like '%' + u.l_name + '%';
Run Code Online (Sandbox Code Playgroud)

我试图使用程序,但无法弄清楚,甚至告诉这是否有帮助.

mysql sql search sql-like

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

像 %?% 不能作为 StringBuilder SQL 查询的一部分

有以下字符串构建的 SQL 查询:

    StringBuilder querySelect = new StringBuilder("select * from messages ");
    StringBuilder queryWhere = new StringBuilder("where msg_id=?");

        if (fileRSVO.getFileName()!= null){
            queryWhere.append("and descr LIKE %?% ");
        }
querySelect.append(queryWhere);

    List<Map<String, Object>> list = getJdbcTemplate().queryForList(querySelect.toString(), params.toArray()); 
    ...
Run Code Online (Sandbox Code Playgroud)

问题出在这部分:

queryWhere.append("and descr LIKE %?% ")
Run Code Online (Sandbox Code Playgroud)

LIKE不起作用。
在调试中检查 - 它已添加到所有查询中。
它应该是单引号还是其他一些技巧?

谢谢。

已编辑

试过单引号:queryWhere.append("and descr LIKE '%?%' ") 不起作用

这是调试字符串:

select * from messages where msg_id=? and descr LIKE '%?%' 
Run Code Online (Sandbox Code Playgroud)

java sql string sql-like

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

C#Oledb之类的语句不返回任何结果

我正在制作一个简单的asp.net/c#应用程序,直到现在,Oledb的所有功能都可以正常工作。like语句仅不能通过c#进行工作,它可以用作Access中的SQL查询。我也尝试过使用'*a*'代替,'*@uname*'但是它仍然没有返回任何东西。

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(
    "SELECT accounts.ID, uname, firstname, lastname, description FROM accounts, profiles " +
    "WHERE accounts.ID = profiles.ID AND uname like '*@uname*'", connection);
dataAdapter.SelectCommand.Parameters.Add("@uname", OleDbType.VarChar).Value = tbxFilter.Text;
Run Code Online (Sandbox Code Playgroud)

c# oledb sql-like

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

MySQL:在字符串值之间

我正在尝试构建一个与以下规则匹配的行的查询:

  • 我的行内容 ID 像“MATCH_1”、“MATCH_2”、“MATCH_4”...
  • 我想匹配 id 在 2 个边界之间的行: SELECT id FROM table WHERE id LIKE "MATCH_%", % must be between 2 and 5 例如。结果必须是:'MATCH_2'、'MATCH_4'、'MATCH_5'

有可能这样做吗?

谢谢

mysql between sql-like

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

如何过滤掉特定的电子邮件地址?

我正在使用 MySQL 查询一个名为“clients”的客户详细信息表,其中包括一个名为“email”的电子邮件地址列。我想从 gmail、hotmail 和 yahoo 中排除所有电子邮件地址。我已尝试编写查询(有关我的最新信息,请参见下文),但我似乎无法正确使用 NOT LIKE 或找到替代方法。

有人可以帮忙吗?

MySQL查询:

SELECT      name, email

FROM        clients

WHERE       email NOT LIKE '%gmail%'
    OR  email NOT LIKE '%hotmail%'
    OR  email NOT LIKE '%yahoo%'
;
Run Code Online (Sandbox Code Playgroud)

结尾

PS 我已经搜索了现有的问题,但没有找到我需要的答案。如果已经存在,我很抱歉,如果你找到一个,我会很感激你指出我正确的方向。我是这一切的新手,因为几个月前我开始学习 SQL 以进行工作。

mysql sql wildcard sql-like

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

Mysql更新以相同名称开头的所有列

我有一个名为'products'的动态表,其中包含多种语言.表格列如下所示:

id, product_id, store_de, store_en, store_fr, store_es... etc
Run Code Online (Sandbox Code Playgroud)

语言可以或多或少.

现在我想更新此表并将以"store_"开头的所有列设置为值1.

我尝试了以下方法:

$stmt = $dbh->prepare( "UPDATE products SET `store_%` = ? WHERE product_id = ?" );

$stmt->execute( array( 1, $lastID ) );
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

SQLSTATE [42S22]:找不到列:1054'字段列表'中的未知列'store%'

有没有办法更新以'store_'开头的所有列,或者我是否必须列出所有列?


基于jekaby的答案,这里有一个对我有用的完整解决方案:

$get_stores = $dbh->prepare("SHOW COLUMNS FROM products_active WHERE field REGEXP '^store'");
    $get_stores->execute();
    $stores = $get_stores->fetchAll();

    $update_string = "";
    $first_store = true;
    foreach($stores as $store) {
        if(!$first_store) {

            $update_string .= ", ";

        } else {

            $first_store = false;

        }
        $update_string .= $store['Field']." = '".$status."'";

    }

    $update_activity …
Run Code Online (Sandbox Code Playgroud)

php mysql sql-like

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

如何使用带有多个百分比 (%) 符号的 PostgreSQL 和 Python 的类似模式匹配?

我正在尝试与LIKE LOWER('% %')命令进行模式匹配,但是我认为我使用带有 %s 的 python 变量这一事实正在搞砸。我似乎找不到百分比符号的任何转义字符,而且我的程序没有给我任何错误。这是问题还是我还缺少其他东西。如果我只是运行它确实有效,LIKE %s但是我需要能够像不等于一样搜索。

# Ask for the database connection, and get the cursor set up
conn = database_connect()
if(conn is None):
    return ERROR_CODE
cur = conn.cursor()
print("search_term: ", search_term)
try:
    # Select the bays that match (or are similar) to the search term
    sql = """SELECT fp.name AS "Name", fp.size AS "Size", COUNT(*) AS "Number of Fish"
               FROM FishPond fp JOIN Fish f ON (fp.pondID = f.livesAt)
              WHERE LOWER(fp.name) LIKE LOWER('%%s%') …
Run Code Online (Sandbox Code Playgroud)

python postgresql mysql-real-escape-string pattern-matching sql-like

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

Alembic:包括拒绝带有字符的字符串的约束

我有一张看起来像这样的桌子

> select * from mytable
  id        value
0  1  hello world
1  2  hello_world
2  3  hello+world
Run Code Online (Sandbox Code Playgroud)

我试图强加一个 alembic 检查约束,其中值value不能有:字符。我将如何使用alembic.op对象来做到这一点?什么是upgrade()downgrade()功能?

编辑:我使用的数据库是 Mysql。

python sqlalchemy alembic sql-like

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

有没有办法从 SQL 通配符 % 中排除字符?

我正在尝试使用 SQL 进行文件搜索。我需要将搜索保留在我正在进行比较的目录中。在 SQL 中进行 LIKE 或 NOT LIKE 比较时,通配符 '%' 用于表示 0、1 或多个字符。有没有办法排除或分隔通配符搜索中涉及的字符?我需要进行如下比较:

LIKE 'C:/Data/%.txt'
Run Code Online (Sandbox Code Playgroud)

但是,我不希望 '%' 找到任何在通配符搜索中涉及斜杠 '/' 字符的记录。我希望它返回以下示例:

C:/Data/file1.txt
C:/Data/records_2017.txt
C:/Data/listing#7.txt
Run Code Online (Sandbox Code Playgroud)

但我不希望通配符在其中查找带有斜杠的记录,因为在我的情况下,它超出了我有兴趣在以下位置进行文件搜索的当前文件夹:

C:/Data/OtherFolder/file1.txt
C:/Data/System/SomethingElse/records_2016.txt
Run Code Online (Sandbox Code Playgroud)

上面的例子将被返回,因为 Data 后面的斜杠和 .txt 扩展名之间的所有内容都是通配符的免费游戏。我不希望在我的通配符搜索中返回上述示例。

我尝试做字符集,例如 [^/],但它似乎只能排除带有斜杠 '/' 字符的字符串 BEGINNING。我需要防止通配符在字符串中的任何地方使用斜杠。

sql wildcard sql-like

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

SQL与通配符一样,在某些字母上返回错误的结果

当使用带有通配符的like关键字时,我无法弄清楚为什么我得到错误的结果.为了讨论起见,我举了一些小例子来说明我的问题.假设我们有一些表格

CREATE TABLE TestingLike(
[Name] VARCHAR(50)  
)

INSERT INTO TestingLike VALUES ('A'), ('AB'), ('L') ,('LJ')
Run Code Online (Sandbox Code Playgroud)

现在,当我使用此搜索条件时

SELECT [Name] FROM TestingLike WHERE [Name] LIKE 'A%'

SELECT [Name] FROM TestingLike WHERE [Name] LIKE 'L%'
Run Code Online (Sandbox Code Playgroud)

第一个查询返回(A,AB) ,而第二个返回只是大号.奇怪的是,使用临时表时不会发生这种情况

对于上帝的爱,有人可以解释为什么会发生这种情况,我做了一些研究,但是找不到答案,我使用SQL SERVER RC1 2017以及SQL SMS.

感谢您的时间.

下面是执行计划的图片

在此输入图像描述

sql t-sql sql-server wildcard sql-like

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