1
drop table if exists t1;
2
CREATE TABLE t1 (id CHAR(12) not null, PRIMARY KEY (id));
3
insert into t1 values ('000000000001'),('000000000002');
4
explain select * from t1 where id=000000000001;
5
id select_type table type possible_keys key key_len ref rows Extra
6
1 SIMPLE t1 index PRIMARY PRIMARY 50 NULL 2 Using where; Using index
7
select * from t1 where id=000000000001;
10
delete from t1 where id=000000000002;
30
CREATE TABLE t1 (a char(10) not null);
31
INSERT INTO t1 VALUES ('a'),('a\0'),('a\t'),('a ');
32
SELECT hex(a),STRCMP(a,'a'), STRCMP(a,'a ') FROM t1;
33
hex(a) STRCMP(a,'a') STRCMP(a,'a ')
39
SELECT CHAR(31) = '', '' = CHAR(31);
40
CHAR(31) = '' '' = CHAR(31)
42
SELECT CHAR(30) = '', '' = CHAR(30);
43
CHAR(30) = '' '' = CHAR(30)
45
create table t1 (a int,b varbinary(1));
46
insert into t1 values (0x01,0x01);
47
select * from t1 where a=b;
49
select * from t1 where a=b and b=0x01;
51
drop table if exists t1;
52
CREATE TABLE t1 (b int, c int);
53
INSERT INTO t1 (b,c) VALUES (1,2), (1,1), (2,2);
54
SELECT CONCAT(b,c), CONCAT(b,c) = '0101' FROM t1;
55
CONCAT(b,c) CONCAT(b,c) = '0101'
59
EXPLAIN EXTENDED SELECT b,c FROM t1 WHERE b = 1 AND CONCAT(b,c) = '0101';
60
id select_type table type possible_keys key key_len ref rows filtered Extra
61
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 100.00 Using where
63
Note 1003 select `test`.`t1`.`b` AS `b`,`test`.`t1`.`c` AS `c` from `test`.`t1` where ((`test`.`t1`.`b` = 1) and (concat(1,`test`.`t1`.`c`) = '0101'))
64
SELECT b,c FROM t1 WHERE b = 1 AND CONCAT(b,c) = '0101';
66
CREATE TABLE t2 (a int);
67
INSERT INTO t2 VALUES (1),(2);
69
(SELECT COUNT(*) FROM t1
70
WHERE b = t2.a AND CONCAT(b,c) = CONCAT('0',t2.a,'01')) x
77
(SELECT COUNT(*) FROM t1
78
WHERE b = t2.a AND CONCAT(b,c) = CONCAT('0',t2.a,'01')) x
80
id select_type table type possible_keys key key_len ref rows filtered Extra
81
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using filesort
82
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
84
Note 1276 Field or reference 'test.t2.a' of SELECT #2 was resolved in SELECT #1
85
Note 1276 Field or reference 'test.t2.a' of SELECT #2 was resolved in SELECT #1
86
Note 1003 select `test`.`t2`.`a` AS `a`,(select count(0) AS `COUNT(*)` from `test`.`t1` where ((`test`.`t1`.`b` = `test`.`t2`.`a`) and (concat(`test`.`t1`.`b`,`test`.`t1`.`c`) = concat('0',`test`.`t2`.`a`,'01')))) AS `x` from `test`.`t2` order by `test`.`t2`.`a`