新建一张测试表,插入几条测试数据
CREATE TABLE `user` (
`id` int(10) NOT NULL,
`name` varchar(10) NOT NULL COMMENT '名称',
PRIMARY KEY (`id`)
);
INSERT INTO `user`(id, NAME) VALUES(0, '张三');
INSERT INTO `user`(id, NAME) VALUES(1, '李四');
INSERT INTO `user`(id, NAME) VALUES(2, '王五');
执行查询
SELECT * FROM `user` WHERE id = 'cxk';
查询结果为:
图1
SELECT * FROM `user` WHERE id = '1c2xk2';
查询结果为:
图2
SELECT * FROM `user` WHERE id = '012c2xk2';
查询为空!
SELECT * FROM `user` WHERE id = '01c2xk2';
查询结果:如图2
结论:
mysql可以把字符串自动转为数值类型,在转换时会从左到右截取到第一个非数字为止,(例:字符串'24y4y4y66'截取后为24)将其转换为数值,再执行运算。如果第一个字符就是非数值,则转为0。
网友评论