27
27
id select_type table type possible_keys key key_len ref rows filtered Extra
28
28
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
30
Note 1003 select (case 1 when 1 then 'one' when 2 then 'two' else 'more' end) AS `CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END`
30
Note 1003 select (case 1 when 1 then 'one' when 2 then 'two' else 'more' end) AS "CASE 1 when 1 then ""one"" WHEN 2 then ""two"" ELSE ""more"" END"
31
31
select CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END;
32
32
CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END
34
select (CASE "two" when "one" then "1" WHEN "two" then "2" END);
35
(CASE "two" when "one" then "1" WHEN "two" then "2" END)
34
select (CASE "two" when "one" then "1" WHEN "two" then "2" END) | 0;
35
(CASE "two" when "one" then "1" WHEN "two" then "2" END) | 0
37
37
select (CASE "two" when "one" then 1.00 WHEN "two" then 2.00 END) +0.0;
38
38
(CASE "two" when "one" then 1.00 WHEN "two" then 2.00 END) +0.0
40
40
select case 1/0 when "a" then "true" else "false" END;
41
ERROR 22012: Division by 0
41
case 1/0 when "a" then "true" else "false" END
42
43
select case 1/0 when "a" then "true" END;
43
ERROR 22012: Division by 0
44
select (case 1/0 when "a" then "true" END);
45
ERROR 22012: Division by 0
44
case 1/0 when "a" then "true" END
46
select (case 1/0 when "a" then "true" END) | 0;
47
(case 1/0 when "a" then "true" END) | 0
46
49
select (case 1/0 when "a" then "true" END) + 0.0;
47
ERROR 22012: Division by 0
50
(case 1/0 when "a" then "true" END) + 0.0
48
52
select case when 1>0 then "TRUE" else "FALSE" END;
49
53
case when 1>0 then "TRUE" else "FALSE" END
94
99
SHOW CREATE TABLE t1;
95
100
Table Create Table
96
t1 CREATE TABLE `t1` (
97
`c1` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,
98
`c2` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,
99
`c3` VARBINARY(4) NOT NULL,
100
`c4` VARBINARY(4) NOT NULL,
101
`c5` VARBINARY(4) NOT NULL,
102
`c6` VARBINARY(4) NOT NULL,
103
`c7` DECIMAL(2,1) NOT NULL,
104
`c8` DECIMAL(2,1) NOT NULL,
105
`c9` DECIMAL(2,1) DEFAULT NULL,
106
`c10` DOUBLE NOT NULL,
107
`c11` DOUBLE NOT NULL,
108
`c12` VARBINARY(5) NOT NULL
109
) ENGINE=DEFAULT COLLATE = utf8_general_ci
101
t1 CREATE TABLE "t1" (
102
"c1" varchar(1) CHARACTER SET latin1 COLLATE latin1_danish_ci NOT NULL,
103
"c2" varchar(1) CHARACTER SET latin1 COLLATE latin1_danish_ci NOT NULL,
104
"c3" varbinary(1) NOT NULL,
105
"c4" varbinary(1) NOT NULL,
106
"c5" varbinary(4) NOT NULL,
107
"c6" varbinary(4) NOT NULL,
108
"c7" decimal(2,1) NOT NULL,
109
"c8" decimal(2,1) NOT NULL,
111
"c10" double NOT NULL,
112
"c11" double NOT NULL,
113
"c12" varbinary(5) NOT NULL
114
) ENGINE=MyISAM DEFAULT CHARSET=latin1
113
THEN 'a' COLLATE utf8_bin
114
ELSE 'a' COLLATE utf8_swedish_ci
116
ERROR HY000: Illegal mix of collations (utf8_bin,EXPLICIT) and (utf8_swedish_ci,EXPLICIT) for operation 'case'
117
SELECT CASE 'a' COLLATE utf8_bin
118
WHEN 'a' COLLATE utf8_danish_ci THEN 1
119
WHEN 'a' COLLATE utf8_swedish_ci THEN 2
121
ERROR HY000: Illegal mix of collations (utf8_bin,EXPLICIT), (utf8_danish_ci,EXPLICIT), (utf8_swedish_ci,EXPLICIT) for operation 'case'
118
THEN _latin1'a' COLLATE latin1_danish_ci
119
ELSE _latin1'a' COLLATE latin1_swedish_ci
121
ERROR HY000: Illegal mix of collations (latin1_danish_ci,EXPLICIT) and (latin1_swedish_ci,EXPLICIT) for operation 'case'
122
SELECT CASE _latin1'a' COLLATE latin1_general_ci
123
WHEN _latin1'a' COLLATE latin1_danish_ci THEN 1
124
WHEN _latin1'a' COLLATE latin1_swedish_ci THEN 2
126
ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_danish_ci,EXPLICIT), (latin1_swedish_ci,EXPLICIT) for operation 'case'
123
CASE 'a' COLLATE utf8_general_ci WHEN 'A' THEN '1' ELSE 2 END,
124
CASE 'a' COLLATE utf8_bin WHEN 'A' THEN '1' ELSE 2 END,
125
CASE 'a' WHEN 'A' COLLATE utf8_swedish_ci THEN '1' ELSE 2 END,
126
CASE 'a' WHEN 'A' COLLATE utf8_bin THEN '1' ELSE 2 END
128
CASE _latin1'a' COLLATE latin1_general_ci WHEN _latin1'A' THEN '1' ELSE 2 END,
129
CASE _latin1'a' COLLATE latin1_bin WHEN _latin1'A' THEN '1' ELSE 2 END,
130
CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_swedish_ci THEN '1' ELSE 2 END,
131
CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_bin THEN '1' ELSE 2 END
128
CASE 'a' COLLATE utf8_general_ci WHEN 'A' THEN '1' ELSE 2 END CASE 'a' COLLATE utf8_bin WHEN 'A' THEN '1' ELSE 2 END CASE 'a' WHEN 'A' COLLATE utf8_swedish_ci THEN '1' ELSE 2 END CASE 'a' WHEN 'A' COLLATE utf8_bin THEN '1' ELSE 2 END
133
CASE _latin1'a' COLLATE latin1_general_ci WHEN _latin1'A' THEN '1' ELSE 2 END CASE _latin1'a' COLLATE latin1_bin WHEN _latin1'A' THEN '1' ELSE 2 END CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_swedish_ci THEN '1' ELSE 2 END CASE _latin1'a' WHEN _latin1'A' COLLATE latin1_bin THEN '1' ELSE 2 END
130
CREATE TABLE t1 SELECT COALESCE('a' COLLATE utf8_swedish_ci,'b' COLLATE utf8_bin);
131
ERROR HY000: Illegal mix of collations (utf8_swedish_ci,EXPLICIT) and (utf8_bin,EXPLICIT) for operation 'coalesce'
135
CREATE TABLE t1 SELECT COALESCE(_latin1'a',_latin2'a');
136
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'coalesce'
137
CREATE TABLE t1 SELECT COALESCE('a' COLLATE latin1_swedish_ci,'b' COLLATE latin1_bin);
138
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'coalesce'
132
139
CREATE TABLE t1 SELECT
133
140
COALESCE(1), COALESCE(1.0),COALESCE('a'),
134
141
COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'),
135
COALESCE('a' COLLATE utf8_bin,'b');
142
COALESCE('a' COLLATE latin1_bin,'b');
136
143
explain extended SELECT
137
144
COALESCE(1), COALESCE(1.0),COALESCE('a'),
138
145
COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'),
139
COALESCE('a' COLLATE utf8_bin,'b');
146
COALESCE('a' COLLATE latin1_bin,'b');
140
147
id select_type table type possible_keys key key_len ref rows filtered Extra
141
148
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
143
Note 1003 select coalesce(1) AS `COALESCE(1)`,coalesce(1.0) AS `COALESCE(1.0)`,coalesce('a') AS `COALESCE('a')`,coalesce(1,1.0) AS `COALESCE(1,1.0)`,coalesce(1,'1') AS `COALESCE(1,'1')`,coalesce(1.1,'1') AS `COALESCE(1.1,'1')`,coalesce(('a' collate utf8_bin),'b') AS `COALESCE('a' COLLATE utf8_bin,'b')`
150
Note 1003 select coalesce(1) AS "COALESCE(1)",coalesce(1.0) AS "COALESCE(1.0)",coalesce('a') AS "COALESCE('a')",coalesce(1,1.0) AS "COALESCE(1,1.0)",coalesce(1,'1') AS "COALESCE(1,'1')",coalesce(1.1,'1') AS "COALESCE(1.1,'1')",coalesce(('a' collate latin1_bin),'b') AS "COALESCE('a' COLLATE latin1_bin,'b')"
144
151
SHOW CREATE TABLE t1;
145
152
Table Create Table
146
t1 CREATE TABLE `t1` (
147
`COALESCE(1)` INT NOT NULL,
148
`COALESCE(1.0)` DECIMAL(2,1) NOT NULL,
149
`COALESCE('a')` VARCHAR(1) COLLATE utf8_general_ci NOT NULL,
150
`COALESCE(1,1.0)` DECIMAL(2,1) NOT NULL,
151
`COALESCE(1,'1')` VARBINARY(4) NOT NULL,
152
`COALESCE(1.1,'1')` VARBINARY(4) NOT NULL,
153
`COALESCE('a' COLLATE utf8_bin,'b')` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL
154
) ENGINE=DEFAULT COLLATE = utf8_general_ci
153
t1 CREATE TABLE "t1" (
154
"COALESCE(1)" int(1) NOT NULL,
155
"COALESCE(1.0)" decimal(2,1) NOT NULL,
156
"COALESCE('a')" varchar(1) NOT NULL,
157
"COALESCE(1,1.0)" decimal(2,1) NOT NULL,
158
"COALESCE(1,'1')" varbinary(1) NOT NULL,
159
"COALESCE(1.1,'1')" varbinary(4) NOT NULL,
160
"COALESCE('a' COLLATE latin1_bin,'b')" varchar(1) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL
161
) ENGINE=MyISAM DEFAULT CHARSET=latin1
156
163
SELECT 'case+union+test'