当前位置: 首页 > 编程笔记 >

如何在MySQL LIKE子句中使用用户变量?

颛孙飞鸾
2023-03-14
本文向大家介绍如何在MySQL LIKE子句中使用用户变量?,包括了如何在MySQL LIKE子句中使用用户变量?的使用技巧和注意事项,需要的朋友参考一下

使用该CONCAT()函数,我们可以在LIKE子句中使用用户变量。语法如下。

set @anyVariableName='anyValue';
select yourColumnName1,yourColumnName2,yourColumnName3,...N from yourTableName
whereyourColumnName like CONCAT('%', @anyVariableName, '%');

为了理解上述语法,让我们首先创建一个表。创建表的查询如下。

mysql> create table UserVariableInLike
-> (
-> id int,
-> Name varchar(100),
-> Age int
-> );

使用insert命令在表中插入记录。查询如下。

mysql> insert into UserVariableInLike values(101,'John',23);

mysql> insert into UserVariableInLike values(102,'John Smith',24);

mysql> insert into UserVariableInLike values(103,'Carol Smith',23);

mysql> insert into UserVariableInLike values(104,'Johnson',25);

mysql> insert into UserVariableInLike values(105,'Adam Smith',26);

使用select语句显示表中的所有记录。查询如下

mysql> select *from UserVariableInLike;

以下是输出。

+------+-------------+------+
| id   | Name        | Age  |
+------+-------------+------+
| 101  | John        | 23   |
| 102  | John Smith  | 24   |
| 103  | Carol Smith | 23   |
| 104  | Johnson     | 25   |
| 105  | Adam Smith  | 26   |
+------+-------------+------+
5 rows in set (0.00 sec)

这是在LIKE子句中使用用户变量的查询。查询如下-

mysql> set @searchName='John';

mysql> select id,Name,Age from UserVariableInLike where Name like CONCAT('%',
@searchName, '%');

以下是输出。

+------+------------+------+
| id   | Name       | Age  |
+------+------------+------+
| 101  | John       | 23   |
| 102  | JohnSmith  | 24   |
| 104  | Johnson    | 25   |
+------+------------+------+
3 rows in set (0.05 sec)
 类似资料:
  • 问题内容: 我正在写一个存储过程,其中有一个名为 my_size 的输入参数,它是一个 INTEGER 。我希望能够在语句的子句中使用它。显然,这不受支持,是否有解决方法? 问题答案: 通过搜索找到了这篇文章。我在下面粘贴了相关文本。 这是一个论坛帖子,显示了准备好的语句的示例,可让您将变量值分配给limit子句: http://forums.mysql.com/read.php?98,12637

  • 问题内容: 我正在使用iBATIS创建选择语句。现在,我想用iBATIS实现以下SQL语句: 使用以下方法,语句准备不正确,并且没有结果返回: iBATIS似乎重新构建了该列表,并尝试将其解释为字符串。 如何正确使用IN子句? 问题答案: 这是一篇博客文章,回答您的问题: iBatis:使用SQL IN关键字支持数组或列表参数 在Java中,您应该传入java.util.List。例如

  • 问题内容: 我正在使用R来调用mySQL语句,其中我在语句外定义了变量,例如 但这会返回一个空集,我已经在Google周围搜索并尝试了“。&foo”。“ .foo。” ‘。&& foo。’‘和许多不同的组合,但是它们都不起作用,我认为这应该是mysql问题,而不是我遇到的R特定问题,但不确定。通常,变量具有$值,但R中没有。 问题答案: 这应该工作:

  • 在PL/SQL中,可以使用连接指定In运算符的值: 是否可以使用变量执行相同的操作? 如果是这样,如何? 编辑:参考Marcin的回答,我如何从结果表中选择? 我得到以下错误:

  • 问题内容: 我正在将所有SQL Server查询都转换为MySQL,并且其中所有查询都失败了。这是一个例子: 问题答案: 8.0之前的MySQL 不支持WITH子句(在SQL Server中为CTE;在Oracle中为子查询分解),因此您只能使用: 临时表 派生表 内联视图(有效地代表WITH子句-它们是可互换的) 该功能的请求可以追溯到2006年。 如前所述,您提供了一个糟糕的示例-如果您不以任

  • 问题内容: 这是我第一次使用JDBCTemplates,并且遇到了需要使用如下查询的情况: 我怎么做?我已经尝试过传递列表/数组值,但是没有成功,我遇到了异常。我当前的代码如下所示: Spring文档指出,除了生成所需数量的“?”之外,没有其他方法可以这样做。占位符以匹配参数List的大小。有解决方法吗? 问题答案: 我认为您不能将其作为单个“?”来完成。与Spring JDBC模板无关,它是核心