使用MySQL查找字符串中的精确文本
我有一个数据库表,有两列,一列用于ID,另一列用于颜色。假设此表中有3行包含以下数据:使用MySQL查找字符串中的精确文本,mysql,Mysql,我有一个数据库表,有两列,一列用于ID,另一列用于颜色。假设此表中有3行包含以下数据: ID: 1 => Colors: Blue; Yellow; Red; ID: 2 => Colors: Green; GreenYellow; Yellowgreen; Blue; ID: 3 => Colors: Yellow; Blue; 如果我想进行SQL调用,以了解是否有黄色的寄存器,只有黄色,没有绿黄色或黄绿色。我怎么做?我正在尝试: $statement = $conexio
ID: 1 => Colors: Blue; Yellow; Red;
ID: 2 => Colors: Green; GreenYellow; Yellowgreen; Blue;
ID: 3 => Colors: Yellow; Blue;
如果我想进行SQL调用,以了解是否有黄色的寄存器,只有黄色,没有绿黄色或黄绿色。我怎么做?我正在尝试:
$statement = $conexion->prepare("SELECT * FROM comentarios WHERE suscritos LIKE :suscritos");
$statement->execute(array(":suscritos" => "%Yellow%"));
$todos_mis_mensajes = $statement->fetchAll();
IDs结果:1、2和3
IDs结果:无结果
IDs结果:3
试试这个电话:
select * from comentarios where suscritos regexp '[[:<:]]Yellow[[:>:]]';
在此处查找有关MySQL正则表达式的更多信息:
只需输入不带通配符的黄色单词即可 %表示0个或多个字符。 %黄色%表示所有带有黄色单词的字符串。 %黄色表示以黄色结尾的所有字符串。 黄色%表示所有以黄色开头的字符串 _指示必须正好有1个字符。 _黄色所有在黄色单词前有字符的字符串。 艾:好的,再见
不可接受:abYellow,Yellowsuscritos,如'Yellow;%'或者像“%Yellow;”这样的suscritos工作!创建一个响应以便我可以验证。谢谢
$statement = $conexion->prepare("SELECT * FROM comentarios WHERE suscritos LIKE :suscritos");
$statement->execute(array(":suscritos" => "_Yellow%"));
$todos_mis_mensajes = $statement->fetchAll();
select * from comentarios where suscritos regexp '[[:<:]]Yellow[[:>:]]';