Mysql 插入相同的数字,结果不同
这是我的sqlMysql 插入相同的数字,结果不同,mysql,Mysql,这是我的sql CREATE TABLE `a20171118sign` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL COMMENT '姓名', `mobile` varchar(13) DEFAULT NULL COMMENT '手机', `status` varchar(1) DEFAULT '0' COMMENT '状态,0为未签到,1为已签到', `ip` varchar(15) DEFAULT
CREATE TABLE `a20171118sign` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL COMMENT '姓名',
`mobile` varchar(13) DEFAULT NULL COMMENT '手机',
`status` varchar(1) DEFAULT '0' COMMENT '状态,0为未签到,1为已签到',
`ip` varchar(15) DEFAULT NULL COMMENT 'IP地址',
`date` varchar(20) DEFAULT NULL COMMENT '签到时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `a20171118sign1`
(`id`, `name`, `mobile`, `status`, `ip`, `date`)
VALUES
(1, 'test1', '18995181962', '0', NULL, NULL),
(2, 'test2', '18908178884', '0', NULL, NULL),
(3, 'test3', '13805716757', '0', NULL, NULL);
SELECT LENGTH(mobile) FROM a20171118sign1;
好的,有件事很有趣。结果如下
11
11
17
我的数据怎么了?
ps:我使用trim测试是否有一些空格,但它不是。似乎在开始/结束时有一些不可见的字符13805716757 unicode E280AD 您可以通过以下代码看到它:
HEX(LEFT(mobile, 1))
请看这里的正确值:
或者此处您的数据库表不同。a20171118sign*1*和a20171118sign您可以在此处检查联机sql FIDLE是,您可以看到最后一个电话号码的长度是17,而不是11。我想这是个问题。是的,但奇怪的是,修剪没有修剪它,不是吗?@DanielE。修剪只处理空格字符。所以不,这是有道理的