99
106
SHOW CREATE TABLE t1;
100
107
Table Create Table
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
108
t1 CREATE TABLE `t1` (
109
`c1` varchar(1) CHARACTER SET utf8 COLLATE utf8_bin,
110
`c2` varchar(1) CHARACTER SET utf8 COLLATE utf8_bin,
111
`c3` varbinary(4) NOT NULL,
112
`c4` varbinary(4) NOT NULL,
113
`c5` varbinary(4) NOT NULL,
114
`c6` varbinary(4) NOT NULL,
115
`c7` decimal(2,1) NOT NULL,
116
`c8` decimal(2,1) NOT NULL,
118
`c10` double NOT NULL,
119
`c11` double NOT NULL,
120
`c12` varbinary(5) NOT NULL
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'
125
THEN 'a' COLLATE utf8_bin
126
ELSE 'a' COLLATE utf8_swedish_ci
128
ERROR HY000: Illegal mix of collations (utf8_bin,EXPLICIT) and (utf8_swedish_ci,EXPLICIT) for operation 'case'
129
SELECT CASE 'a' COLLATE utf8_bin
130
WHEN 'a' COLLATE utf8_danish_ci THEN 1
131
WHEN 'a' COLLATE utf8_swedish_ci THEN 2
133
ERROR HY000: Illegal mix of collations (utf8_bin,EXPLICIT), (utf8_danish_ci,EXPLICIT), (utf8_swedish_ci,EXPLICIT) for operation 'case'
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
135
CASE 'a' COLLATE utf8_general_ci WHEN 'A' THEN '1' ELSE 2 END,
136
CASE 'a' COLLATE utf8_bin WHEN 'A' THEN '1' ELSE 2 END,
137
CASE 'a' WHEN 'A' COLLATE utf8_swedish_ci THEN '1' ELSE 2 END,
138
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
140
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
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'
142
CREATE TABLE t1 SELECT COALESCE('a' COLLATE utf8_swedish_ci,'b' COLLATE utf8_bin);
143
ERROR HY000: Illegal mix of collations (utf8_swedish_ci,EXPLICIT) and (utf8_bin,EXPLICIT) for operation 'coalesce'
139
144
CREATE TABLE t1 SELECT
140
145
COALESCE(1), COALESCE(1.0),COALESCE('a'),
141
146
COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'),
142
COALESCE('a' COLLATE latin1_bin,'b');
147
COALESCE('a' COLLATE utf8_bin,'b');
143
148
explain extended SELECT
144
149
COALESCE(1), COALESCE(1.0),COALESCE('a'),
145
150
COALESCE(1,1.0), COALESCE(1,'1'),COALESCE(1.1,'1'),
146
COALESCE('a' COLLATE latin1_bin,'b');
151
COALESCE('a' COLLATE utf8_bin,'b');
147
152
id select_type table type possible_keys key key_len ref rows filtered Extra
148
153
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
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')"
155
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')`
151
156
SHOW CREATE TABLE t1;
152
157
Table Create Table
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
158
t1 CREATE TABLE `t1` (
159
`COALESCE(1)` int NOT NULL,
160
`COALESCE(1.0)` decimal(2,1) NOT NULL,
161
`COALESCE('a')` varchar(1) NOT NULL,
162
`COALESCE(1,1.0)` decimal(2,1) NOT NULL,
163
`COALESCE(1,'1')` varbinary(4) NOT NULL,
164
`COALESCE(1.1,'1')` varbinary(4) NOT NULL,
165
`COALESCE('a' COLLATE utf8_bin,'b')` varchar(1) CHARACTER SET utf8 COLLATE utf8_bin
163
168
SELECT 'case+union+test'