mysql字段包含空格查询

1.创建表:

CREATE TABLE `aaa666` (
  `id` int(11) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试字段包含空格';

2.插入测试数据

INSERT INTO `aaa666`(`id`, `name`) VALUES (1, 'zhang 1');
INSERT INTO `aaa666`(`id`, `name`) VALUES (2, 'zhang 2');
INSERT INTO `aaa666`(`id`, `name`) VALUES (3, 'zhang 3 ');
INSERT INTO `aaa666`(`id`, `name`) VALUES (4, 'zhang 4');
INSERT INTO `aaa666`(`id`, `name`) VALUES (5, 'zhang 5 ');

3.查询

3.1

like不处理空格,一般直接like ' keyWork%'

select * from aaa666 where name like "zhang 2";

结果:无返回

3.2

等号直接过滤了末尾的空格

查询1

select * from aaa666 where name = "zhang 2";

结果:

id name

2 zhangsan

查询2

 select * from aaa666 where name like "zhang 4";

结果:无数据

查询3

 select * from aaa666 where name ="zhang 4";

结果:无数据

总结:

mysql对varchar查询使用=会过滤字段末尾的空格,但是不会过滤起始的空格

mysql对varchar查询使用like查询字段首尾的空格都不会处理,使用like建议加上"%"


版权声明:本文为wangwenzhe222原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。