7

它也匹配空字符串,还是只匹配非空字符串?我一直试图找到一个参考,但没有成功。

4

3 回答 3

9

你为什么不自己试试看呢?无论如何,这里是您正在寻找的文档:

使用 LIKE,您可以在模式中使用以下两个通配符。

特点 描述
% 匹配任意数量的字符,甚至是零个字符
_ 只匹配一个字符

http://dev.mysql.com/doc/refman/5.6/en/string-comparison-functions.html#operator_like

于 2012-10-30T03:56:27.367 回答
5

看看下面的demo来解释一下

SQL 小提琴演示

CREATE TABLE Table1(
  ID INT AUTO_INCREMENT,
  Val VARCHAR(50),
     PRIMARY KEY (id)
  );
INSERT INTO Table1 (Val) SELECT 'TEST';
INSERT INTO Table1 (Val) SELECT '';

SELECT *
FROM Table1
WHERE Val LIKE '%'

同样来自12.5.1。字符串比较函数

% Matches any number of characters, even zero characters
于 2012-10-30T03:59:17.630 回答
5

这样一个没有答案的老问题,但显然在创建过程的上下文中 % 代表任何主机。

IE:

CREATE DEFINER=`root`@`%` PROCEDURE `*internalProcedureName*`
  • HOST 的 % 通配符代表任何主机

参考:

于 2019-09-20T12:55:56.613 回答