~linuxjedi/drizzle/trunk-bug-667053

« back to all changes in this revision

Viewing changes to mysql-test/r/ctype_utf16.result

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
DROP TABLE IF EXISTS t1;
 
2
SET NAMES latin1;
 
3
SET character_set_connection=utf16;
 
4
select hex('a'), hex('a ');
 
5
hex('a')        hex('a ')
 
6
0061    00610020
 
7
select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
 
8
'a' = 'a'       'a' = 'a '      'a ' = 'a'
 
9
1       1       1
 
10
select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
 
11
'a\0' = 'a'     'a\0' < 'a'     'a\0' > 'a'
 
12
0       1       0
 
13
select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
 
14
'a' = 'a\0'     'a' < 'a\0'     'a' > 'a\0'
 
15
0       0       1
 
16
select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
 
17
'a\0' = 'a '    'a\0' < 'a '    'a\0' > 'a '
 
18
0       1       0
 
19
select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
 
20
'a ' = 'a\0'    'a ' < 'a\0'    'a ' > 'a\0'
 
21
0       0       1
 
22
select 'a  a' > 'a', 'a  \0' < 'a';
 
23
'a  a' > 'a'    'a  \0' < 'a'
 
24
1       1
 
25
select binary 'a  a' > 'a', binary 'a  \0' > 'a', binary 'a\0' > 'a';
 
26
binary 'a  a' > 'a'     binary 'a  \0' > 'a'    binary 'a\0' > 'a'
 
27
1       1       1
 
28
select hex(_utf16 0x44);
 
29
hex(_utf16 0x44)
 
30
00000044
 
31
select hex(_utf16 0x3344);
 
32
hex(_utf16 0x3344)
 
33
3344
 
34
select hex(_utf16 0x113344);
 
35
hex(_utf16 0x113344)
 
36
000000113344
 
37
CREATE TABLE t1 (word VARCHAR(64), word2 CHAR(64)) CHARACTER SET utf16;
 
38
INSERT INTO t1 VALUES (_koi8r 0xF2, _koi8r 0xF2), (X'2004',X'2004');
 
39
SELECT hex(word) FROM t1 ORDER BY word;
 
40
hex(word)
 
41
0420
 
42
2004
 
43
SELECT hex(word2) FROM t1 ORDER BY word2;
 
44
hex(word2)
 
45
0420
 
46
2004
 
47
DELETE FROM t1;
 
48
INSERT INTO t1 VALUES (X'042000200020',X'042000200020'), (X'200400200020', X'200400200020');
 
49
SELECT hex(word) FROM t1 ORDER BY word;
 
50
hex(word)
 
51
042000200020
 
52
200400200020
 
53
SELECT hex(word2) FROM t1 ORDER BY word2;
 
54
hex(word2)
 
55
0420
 
56
2004
 
57
DROP TABLE t1;
 
58
SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'0421'));
 
59
hex(LPAD(_utf16 X'0420',10,_utf16 X'0421'))
 
60
0421042104210421042104210421042104210420
 
61
SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'04210422'));
 
62
hex(LPAD(_utf16 X'0420',10,_utf16 X'04210422'))
 
63
0421042204210422042104220421042204210420
 
64
SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'042104220423'));
 
65
hex(LPAD(_utf16 X'0420',10,_utf16 X'042104220423'))
 
66
0421042204230421042204230421042204230420
 
67
SELECT hex(LPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'));
 
68
hex(LPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'))
 
69
0420042104220423042404250426042704280429
 
70
SELECT hex(LPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'));
 
71
hex(LPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'))
 
72
042104210421042104210421042104210421D800DC00
 
73
SELECT hex(LPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'));
 
74
hex(LPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'))
 
75
D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC000421
 
76
SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'0421'));
 
77
hex(RPAD(_utf16 X'0420',10,_utf16 X'0421'))
 
78
0420042104210421042104210421042104210421
 
79
SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'04210422'));
 
80
hex(RPAD(_utf16 X'0420',10,_utf16 X'04210422'))
 
81
0420042104220421042204210422042104220421
 
82
SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'042104220423'));
 
83
hex(RPAD(_utf16 X'0420',10,_utf16 X'042104220423'))
 
84
0420042104220423042104220423042104220423
 
85
SELECT hex(RPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'));
 
86
hex(RPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'))
 
87
0420042104220423042404250426042704280429
 
88
SELECT hex(RPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'));
 
89
hex(RPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'))
 
90
D800DC00042104210421042104210421042104210421
 
91
SELECT hex(RPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'));
 
92
hex(RPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'))
 
93
0421D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00
 
94
CREATE TABLE t1 SELECT 
 
95
LPAD(_utf16 X'0420',10,_utf16 X'0421') l,
 
96
RPAD(_utf16 X'0420',10,_utf16 X'0421') r;
 
97
SHOW CREATE TABLE t1;
 
98
Table   Create Table
 
99
t1      CREATE TABLE `t1` (
 
100
  `l` varchar(10) CHARACTER SET utf16 NOT NULL DEFAULT '',
 
101
  `r` varchar(10) CHARACTER SET utf16 NOT NULL DEFAULT ''
 
102
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
103
select hex(l), hex(r) from t1;
 
104
hex(l)  hex(r)
 
105
0421042104210421042104210421042104210420        0420042104210421042104210421042104210421
 
106
DROP TABLE t1;
 
107
create table t1 (f1 char(30));
 
108
insert into t1 values ("103000"), ("22720000"), ("3401200"), ("78000");
 
109
select lpad(f1, 12, "-o-/") from t1;
 
110
lpad(f1, 12, "-o-/")
 
111
-o-/-o103000
 
112
-o-/22720000
 
113
-o-/-3401200
 
114
-o-/-o-78000
 
115
drop table t1;
 
116
SET NAMES latin1;
 
117
SET character_set_connection=utf16;
 
118
select @@collation_connection;
 
119
@@collation_connection
 
120
utf16_general_ci
 
121
create table t1 as select repeat(' ',10) as a union select null;
 
122
alter table t1 add key(a);
 
123
show create table t1;
 
124
Table   Create Table
 
125
t1      CREATE TABLE `t1` (
 
126
  `a` varchar(10) CHARACTER SET utf16 DEFAULT NULL,
 
127
  KEY `a` (`a`)
 
128
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
129
insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
 
130
explain select * from t1 where a like 'abc%';
 
131
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
132
1       SIMPLE  t1      range   a       a       43      NULL    1       Using where; Using index
 
133
explain select * from t1 where a like concat('abc','%');
 
134
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
135
1       SIMPLE  t1      range   a       a       43      NULL    1       Using where; Using index
 
136
select * from t1 where a like "abc%";
 
137
a
 
138
abc
 
139
abcd
 
140
select * from t1 where a like concat("abc","%");
 
141
a
 
142
abc
 
143
abcd
 
144
select * from t1 where a like "ABC%";
 
145
a
 
146
abc
 
147
abcd
 
148
select * from t1 where a like "test%";
 
149
a
 
150
test
 
151
select * from t1 where a like "te_t";
 
152
a
 
153
test
 
154
select * from t1 where a like "%a%";
 
155
a
 
156
a
 
157
abc
 
158
abcd
 
159
select * from t1 where a like "%abcd%";
 
160
a
 
161
abcd
 
162
select * from t1 where a like "%abc\d%";
 
163
a
 
164
abcd
 
165
drop table t1;
 
166
select 'AA' like 'AA';
 
167
'AA' like 'AA'
 
168
1
 
169
select 'AA' like 'A%A';
 
170
'AA' like 'A%A'
 
171
1
 
172
select 'AA' like 'A%%A';
 
173
'AA' like 'A%%A'
 
174
1
 
175
select 'AA' like 'AA%';
 
176
'AA' like 'AA%'
 
177
1
 
178
select 'AA' like '%AA%';
 
179
'AA' like '%AA%'
 
180
1
 
181
select 'AA' like '%A';
 
182
'AA' like '%A'
 
183
1
 
184
select 'AA' like '%AA';
 
185
'AA' like '%AA'
 
186
1
 
187
select 'AA' like 'A%A%';
 
188
'AA' like 'A%A%'
 
189
1
 
190
select 'AA' like '_%_%';
 
191
'AA' like '_%_%'
 
192
1
 
193
select 'AA' like '%A%A';
 
194
'AA' like '%A%A'
 
195
1
 
196
select 'AAA'like 'A%A%A';
 
197
'AAA'like 'A%A%A'
 
198
1
 
199
select 'AZ' like 'AZ';
 
200
'AZ' like 'AZ'
 
201
1
 
202
select 'AZ' like 'A%Z';
 
203
'AZ' like 'A%Z'
 
204
1
 
205
select 'AZ' like 'A%%Z';
 
206
'AZ' like 'A%%Z'
 
207
1
 
208
select 'AZ' like 'AZ%';
 
209
'AZ' like 'AZ%'
 
210
1
 
211
select 'AZ' like '%AZ%';
 
212
'AZ' like '%AZ%'
 
213
1
 
214
select 'AZ' like '%Z';
 
215
'AZ' like '%Z'
 
216
1
 
217
select 'AZ' like '%AZ';
 
218
'AZ' like '%AZ'
 
219
1
 
220
select 'AZ' like 'A%Z%';
 
221
'AZ' like 'A%Z%'
 
222
1
 
223
select 'AZ' like '_%_%';
 
224
'AZ' like '_%_%'
 
225
1
 
226
select 'AZ' like '%A%Z';
 
227
'AZ' like '%A%Z'
 
228
1
 
229
select 'AZ' like 'A_';
 
230
'AZ' like 'A_'
 
231
1
 
232
select 'AZ' like '_Z';
 
233
'AZ' like '_Z'
 
234
1
 
235
select 'AMZ'like 'A%M%Z';
 
236
'AMZ'like 'A%M%Z'
 
237
1
 
238
SET NAMES utf8;
 
239
SET character_set_connection=utf16;
 
240
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf16);
 
241
INSERT INTO t1 VALUES ('фыва'),('Фыва'),('фЫва'),('фыВа'),('фывА'),('ФЫВА');
 
242
INSERT INTO t1 VALUES ('фывапролдж'),('Фывапролдж'),('фЫвапролдж'),('фыВапролдж');
 
243
INSERT INTO t1 VALUES ('фывАпролдж'),('фываПролдж'),('фывапРолдж'),('фывапрОлдж');
 
244
INSERT INTO t1 VALUES ('фывапроЛдж'),('фывапролДж'),('фывапролдЖ'),('ФЫВАПРОЛДЖ');
 
245
SELECT * FROM t1 WHERE a LIKE '%фЫва%' ORDER BY BINARY a;
 
246
a
 
247
ФЫВА
 
248
ФЫВАПРОЛДЖ
 
249
Фыва
 
250
Фывапролдж
 
251
фЫва
 
252
фЫвапролдж
 
253
фыВа
 
254
фыВапролдж
 
255
фывА
 
256
фывАпролдж
 
257
фыва
 
258
фываПролдж
 
259
фывапролдЖ
 
260
фывапролДж
 
261
фывапроЛдж
 
262
фывапрОлдж
 
263
фывапРолдж
 
264
фывапролдж
 
265
SELECT * FROM t1 WHERE a LIKE '%фЫв%' ORDER BY BINARY a;
 
266
a
 
267
ФЫВА
 
268
ФЫВАПРОЛДЖ
 
269
Фыва
 
270
Фывапролдж
 
271
фЫва
 
272
фЫвапролдж
 
273
фыВа
 
274
фыВапролдж
 
275
фывА
 
276
фывАпролдж
 
277
фыва
 
278
фываПролдж
 
279
фывапролдЖ
 
280
фывапролДж
 
281
фывапроЛдж
 
282
фывапрОлдж
 
283
фывапРолдж
 
284
фывапролдж
 
285
SELECT * FROM t1 WHERE a LIKE 'фЫва%' ORDER BY BINARY a;
 
286
a
 
287
ФЫВА
 
288
ФЫВАПРОЛДЖ
 
289
Фыва
 
290
Фывапролдж
 
291
фЫва
 
292
фЫвапролдж
 
293
фыВа
 
294
фыВапролдж
 
295
фывА
 
296
фывАпролдж
 
297
фыва
 
298
фываПролдж
 
299
фывапролдЖ
 
300
фывапролДж
 
301
фывапроЛдж
 
302
фывапрОлдж
 
303
фывапРолдж
 
304
фывапролдж
 
305
SELECT * FROM t1 WHERE a LIKE 'фЫва%' COLLATE utf16_bin ORDER BY BINARY a;
 
306
a
 
307
фЫва
 
308
фЫвапролдж
 
309
DROP TABLE t1;
 
310
CREATE TABLE t1 (word varchar(64) NOT NULL, PRIMARY KEY (word))
 
311
ENGINE=MyISAM CHARACTER SET utf16;
 
312
INSERT INTO t1 (word) VALUES ("cat");
 
313
SELECT * FROM t1 WHERE word LIKE "c%";
 
314
word
 
315
cat
 
316
SELECT * FROM t1 WHERE word LIKE "ca_";
 
317
word
 
318
cat
 
319
SELECT * FROM t1 WHERE word LIKE "cat";
 
320
word
 
321
cat
 
322
SELECT * FROM t1 WHERE word LIKE _utf16 x'00630025';
 
323
word
 
324
cat
 
325
SELECT * FROM t1 WHERE word LIKE _utf16 x'00630061005F';
 
326
word
 
327
cat
 
328
DROP TABLE t1;
 
329
select insert(_utf16 0x006100620063,10,2,_utf16 0x006400650066);
 
330
insert(_utf16 0x006100620063,10,2,_utf16 0x006400650066)
 
331
abc
 
332
select insert(_utf16 0x006100620063,1,2,_utf16 0x006400650066);
 
333
insert(_utf16 0x006100620063,1,2,_utf16 0x006400650066)
 
334
defc
 
335
SET NAMES latin1;
 
336
CREATE TABLE t1 (
 
337
word VARCHAR(64),
 
338
bar INT(11) default 0,
 
339
PRIMARY KEY (word))
 
340
ENGINE=MyISAM
 
341
CHARSET utf16
 
342
COLLATE utf16_general_ci ;
 
343
INSERT INTO t1 (word) VALUES ("aar");
 
344
INSERT INTO t1 (word) VALUES ("a");
 
345
INSERT INTO t1 (word) VALUES ("aardvar");
 
346
INSERT INTO t1 (word) VALUES ("aardvark");
 
347
INSERT INTO t1 (word) VALUES ("aardvara");
 
348
INSERT INTO t1 (word) VALUES ("aardvarz");
 
349
EXPLAIN SELECT * FROM t1 ORDER BY word;
 
350
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
351
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    6       Using filesort
 
352
SELECT * FROM t1 ORDER BY word;
 
353
word    bar
 
354
a       0
 
355
aar     0
 
356
aardvar 0
 
357
aardvara        0
 
358
aardvark        0
 
359
aardvarz        0
 
360
EXPLAIN SELECT word FROM t1 ORDER BY word;
 
361
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
362
1       SIMPLE  t1      index   NULL    PRIMARY 258     NULL    6       Using index
 
363
SELECT word FROM t1 ORDER by word;
 
364
word
 
365
a
 
366
aar
 
367
aardvar
 
368
aardvara
 
369
aardvark
 
370
aardvarz
 
371
DROP TABLE t1;
 
372
CREATE TABLE t1 (
 
373
word VARCHAR(64) ,
 
374
PRIMARY KEY (word))
 
375
ENGINE=MyISAM
 
376
CHARSET utf16
 
377
COLLATE utf16_general_ci;
 
378
INSERT INTO t1 (word) VALUES ("aar");
 
379
INSERT INTO t1 (word) VALUES ("a");
 
380
INSERT INTO t1 (word) VALUES ("aardvar");
 
381
INSERT INTO t1 (word) VALUES ("aardvark");
 
382
INSERT INTO t1 (word) VALUES ("aardvara");
 
383
INSERT INTO t1 (word) VALUES ("aardvarz");
 
384
EXPLAIN SELECT * FROM t1 ORDER BY WORD;
 
385
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
386
1       SIMPLE  t1      index   NULL    PRIMARY 258     NULL    6       Using index
 
387
SELECT * FROM t1 ORDER BY word;
 
388
word
 
389
a
 
390
aar
 
391
aardvar
 
392
aardvara
 
393
aardvark
 
394
aardvarz
 
395
DROP TABLE t1;
 
396
CREATE TABLE t1 (
 
397
word TEXT,
 
398
bar INT(11) AUTO_INCREMENT,
 
399
PRIMARY KEY (bar))
 
400
ENGINE=MyISAM
 
401
CHARSET utf16
 
402
COLLATE utf16_general_ci ;
 
403
INSERT INTO t1 (word) VALUES ("aar");
 
404
INSERT INTO t1 (word) VALUES ("a" );
 
405
INSERT INTO t1 (word) VALUES ("aardvar");
 
406
INSERT INTO t1 (word) VALUES ("aardvark");
 
407
INSERT INTO t1 (word) VALUES ("aardvara");
 
408
INSERT INTO t1 (word) VALUES ("aardvarz");
 
409
EXPLAIN SELECT * FROM t1 ORDER BY word;
 
410
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
411
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    6       Using filesort
 
412
SELECT * FROM t1 ORDER BY word;
 
413
word    bar
 
414
a       2
 
415
aar     1
 
416
aardvar 3
 
417
aardvara        5
 
418
aardvark        4
 
419
aardvarz        6
 
420
EXPLAIN SELECT word FROM t1 ORDER BY word;
 
421
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
422
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    6       Using filesort
 
423
SELECT word FROM t1 ORDER BY word;
 
424
word
 
425
a
 
426
aar
 
427
aardvar
 
428
aardvara
 
429
aardvark
 
430
aardvarz
 
431
DROP TABLE t1;
 
432
SELECT hex(cast(0xAA as char character set utf16));
 
433
hex(cast(0xAA as char character set utf16))
 
434
000000AA
 
435
SELECT hex(convert(0xAA using utf16));
 
436
hex(convert(0xAA using utf16))
 
437
000000AA
 
438
CREATE TABLE t1 (a char(10) character set utf16);
 
439
INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
 
440
SELECT HEX(a) FROM t1;
 
441
HEX(a)
 
442
0001
 
443
0011
 
444
0111
 
445
1111
 
446
00011111
 
447
DROP TABLE t1;
 
448
CREATE TABLE t1 (a varchar(10) character set utf16);
 
449
INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
 
450
SELECT HEX(a) FROM t1;
 
451
HEX(a)
 
452
0001
 
453
0011
 
454
0111
 
455
1111
 
456
00011111
 
457
DROP TABLE t1;
 
458
CREATE TABLE t1 (a text character set utf16);
 
459
INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
 
460
SELECT HEX(a) FROM t1;
 
461
HEX(a)
 
462
0001
 
463
0011
 
464
0111
 
465
1111
 
466
00011111
 
467
DROP TABLE t1;
 
468
CREATE TABLE t1 (a mediumtext character set utf16);
 
469
INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
 
470
SELECT HEX(a) FROM t1;
 
471
HEX(a)
 
472
0001
 
473
0011
 
474
0111
 
475
1111
 
476
00011111
 
477
DROP TABLE t1;
 
478
CREATE TABLE t1 (a longtext character set utf16);
 
479
INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
 
480
SELECT HEX(a) FROM t1;
 
481
HEX(a)
 
482
0001
 
483
0011
 
484
0111
 
485
1111
 
486
00011111
 
487
DROP TABLE t1;
 
488
create table t1(a char(1)) default charset utf16;
 
489
insert into t1 values ('a'),('b'),('c');
 
490
alter table t1 modify a char(5);
 
491
select a, hex(a) from t1;
 
492
a       hex(a)
 
493
a       0061
 
494
b       0062
 
495
c       0063
 
496
drop table t1;
 
497
set @ivar= 1234;
 
498
set @str1 = 'select ?';
 
499
set @str2 = convert(@str1 using utf16);
 
500
prepare stmt1 from @str2;
 
501
execute stmt1 using @ivar;
 
502
?
 
503
1234
 
504
set names utf8;
 
505
create table t1 (a enum('x','y','z') character set utf16);
 
506
show create table t1;
 
507
Table   Create Table
 
508
t1      CREATE TABLE `t1` (
 
509
  `a` enum('x','y','z') CHARACTER SET utf16 DEFAULT NULL
 
510
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
511
insert into t1 values ('x');
 
512
insert into t1 values ('y');
 
513
insert into t1 values ('z');
 
514
select a, hex(a) from t1 order by a;
 
515
a       hex(a)
 
516
x       0078
 
517
y       0079
 
518
z       007A
 
519
alter table t1 change a a enum('x','y','z','d','e','ä','ö','ü') character set utf16;
 
520
show create table t1;
 
521
Table   Create Table
 
522
t1      CREATE TABLE `t1` (
 
523
  `a` enum('x','y','z','d','e','ä','ö','ü') CHARACTER SET utf16 DEFAULT NULL
 
524
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
525
insert into t1 values ('D');
 
526
insert into t1 values ('E ');
 
527
insert into t1 values ('ä');
 
528
insert into t1 values ('ö');
 
529
insert into t1 values ('ü');
 
530
select a, hex(a) from t1 order by a;
 
531
a       hex(a)
 
532
x       0078
 
533
y       0079
 
534
z       007A
 
535
d       0064
 
536
e       0065
 
537
ä       00E4
 
538
ö       00F6
 
539
ü       00FC
 
540
drop table t1;
 
541
create table t1 (a set ('x','y','z','ä','ö','ü') character set utf16);
 
542
show create table t1;
 
543
Table   Create Table
 
544
t1      CREATE TABLE `t1` (
 
545
  `a` set('x','y','z','ä','ö','ü') CHARACTER SET utf16 DEFAULT NULL
 
546
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
547
insert into t1 values ('x');
 
548
insert into t1 values ('y');
 
549
insert into t1 values ('z');
 
550
insert into t1 values ('x,y');
 
551
insert into t1 values ('x,y,z,ä,ö,ü');
 
552
select a, hex(a) from t1 order by a;
 
553
a       hex(a)
 
554
x       0078
 
555
y       0079
 
556
x,y     0078002C0079
 
557
z       007A
 
558
x,y,z,ä,ö,ü     0078002C0079002C007A002C00E4002C00F6002C00FC
 
559
drop table t1;
 
560
create table t1(a enum('a','b','c')) default character set utf16;
 
561
insert into t1 values('a'),('b'),('c');
 
562
alter table t1 add b char(1);
 
563
show warnings;
 
564
Level   Code    Message
 
565
select * from t1 order by a;
 
566
a       b
 
567
a       NULL
 
568
b       NULL
 
569
c       NULL
 
570
drop table t1;
 
571
SET NAMES latin1;
 
572
SET collation_connection='utf16_general_ci';
 
573
create table t1 select repeat('a',4000) a;
 
574
delete from t1;
 
575
insert into t1 values ('a'), ('a '), ('a\t');
 
576
select collation(a),hex(a) from t1 order by a;
 
577
collation(a)    hex(a)
 
578
utf16_general_ci        00610009
 
579
utf16_general_ci        0061
 
580
utf16_general_ci        00610020
 
581
drop table t1;
 
582
select @@collation_connection;
 
583
@@collation_connection
 
584
utf16_general_ci
 
585
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
 
586
insert into t1 values('abcdef');
 
587
insert into t1 values('_bcdef');
 
588
insert into t1 values('a_cdef');
 
589
insert into t1 values('ab_def');
 
590
insert into t1 values('abc_ef');
 
591
insert into t1 values('abcd_f');
 
592
insert into t1 values('abcde_');
 
593
select c1 as c1u from t1 where c1 like 'ab\_def';
 
594
c1u
 
595
ab_def
 
596
select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
 
597
c2h
 
598
ab_def
 
599
drop table t1;
 
600
SET NAMES latin1;
 
601
SET collation_connection='utf16_bin';
 
602
create table t1 select repeat('a',4000) a;
 
603
delete from t1;
 
604
insert into t1 values ('a'), ('a '), ('a\t');
 
605
select collation(a),hex(a) from t1 order by a;
 
606
collation(a)    hex(a)
 
607
utf16_bin       00610009
 
608
utf16_bin       0061
 
609
utf16_bin       00610020
 
610
drop table t1;
 
611
select @@collation_connection;
 
612
@@collation_connection
 
613
utf16_bin
 
614
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
 
615
insert into t1 values('abcdef');
 
616
insert into t1 values('_bcdef');
 
617
insert into t1 values('a_cdef');
 
618
insert into t1 values('ab_def');
 
619
insert into t1 values('abc_ef');
 
620
insert into t1 values('abcd_f');
 
621
insert into t1 values('abcde_');
 
622
select c1 as c1u from t1 where c1 like 'ab\_def';
 
623
c1u
 
624
ab_def
 
625
select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
 
626
c2h
 
627
ab_def
 
628
drop table t1;
 
629
select hex(substr(_utf16 0x00e400e50068,1));
 
630
hex(substr(_utf16 0x00e400e50068,1))
 
631
00E400E50068
 
632
select hex(substr(_utf16 0x00e400e50068,2));
 
633
hex(substr(_utf16 0x00e400e50068,2))
 
634
00E50068
 
635
select hex(substr(_utf16 0x00e400e50068,3));
 
636
hex(substr(_utf16 0x00e400e50068,3))
 
637
0068
 
638
select hex(substr(_utf16 0x00e400e50068,-1));
 
639
hex(substr(_utf16 0x00e400e50068,-1))
 
640
0068
 
641
select hex(substr(_utf16 0x00e400e50068,-2));
 
642
hex(substr(_utf16 0x00e400e50068,-2))
 
643
00E50068
 
644
select hex(substr(_utf16 0x00e400e50068,-3));
 
645
hex(substr(_utf16 0x00e400e50068,-3))
 
646
00E400E50068
 
647
select hex(substr(_utf16 0x00e400e5D800DC00,1));
 
648
hex(substr(_utf16 0x00e400e5D800DC00,1))
 
649
00E400E5D800DC00
 
650
select hex(substr(_utf16 0x00e400e5D800DC00,2));
 
651
hex(substr(_utf16 0x00e400e5D800DC00,2))
 
652
00E5D800DC00
 
653
select hex(substr(_utf16 0x00e400e5D800DC00,3));
 
654
hex(substr(_utf16 0x00e400e5D800DC00,3))
 
655
D800DC00
 
656
select hex(substr(_utf16 0x00e400e5D800DC00,-1));
 
657
hex(substr(_utf16 0x00e400e5D800DC00,-1))
 
658
D800DC00
 
659
select hex(substr(_utf16 0x00e400e5D800DC00,-2));
 
660
hex(substr(_utf16 0x00e400e5D800DC00,-2))
 
661
00E5D800DC00
 
662
select hex(substr(_utf16 0x00e400e5D800DC00,-3));
 
663
hex(substr(_utf16 0x00e400e5D800DC00,-3))
 
664
00E400E5D800DC00
 
665
SET NAMES latin1;
 
666
create table t1 (utext varchar(20) character set utf16);
 
667
insert into t1 values ("lily");
 
668
insert into t1 values ("river");
 
669
prepare stmt from 'select utext from t1 where utext like ?';
 
670
set @param1='%%';
 
671
execute stmt using @param1;
 
672
utext
 
673
lily
 
674
river
 
675
execute stmt using @param1;
 
676
utext
 
677
lily
 
678
river
 
679
select utext from t1 where utext like '%%';
 
680
utext
 
681
lily
 
682
river
 
683
drop table t1;
 
684
deallocate prepare stmt;
 
685
create table t1 (
 
686
a char(10) character set utf16 not null, 
 
687
index a (a)
 
688
) engine=myisam;
 
689
insert into t1 values (repeat(0x201f, 10));
 
690
insert into t1 values (repeat(0x2020, 10));
 
691
insert into t1 values (repeat(0x2021, 10));
 
692
explain select hex(a) from t1 order by a;
 
693
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
694
1       SIMPLE  t1      index   NULL    a       40      NULL    3       Using index
 
695
select hex(a) from t1 order by a;
 
696
hex(a)
 
697
201F201F201F201F201F201F201F201F201F201F
 
698
2020202020202020202020202020202020202020
 
699
2021202120212021202120212021202120212021
 
700
alter table t1 drop index a;
 
701
select hex(a) from t1 order by a;
 
702
hex(a)
 
703
201F201F201F201F201F201F201F201F201F201F
 
704
2020202020202020202020202020202020202020
 
705
2021202120212021202120212021202120212021
 
706
drop table t1;
 
707
CREATE TABLE t1 (
 
708
status enum('active','passive') character set utf16 collate utf16_general_ci 
 
709
NOT NULL default 'passive'
 
710
);
 
711
SHOW CREATE TABLE t1;
 
712
Table   Create Table
 
713
t1      CREATE TABLE `t1` (
 
714
  `status` enum('active','passive') CHARACTER SET utf16 NOT NULL DEFAULT 'passive'
 
715
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
716
ALTER TABLE t1 ADD a int NOT NULL AFTER status;
 
717
SHOW CREATE TABLE t1;
 
718
Table   Create Table
 
719
t1      CREATE TABLE `t1` (
 
720
  `status` enum('active','passive') CHARACTER SET utf16 NOT NULL DEFAULT 'passive',
 
721
  `a` int(11) NOT NULL
 
722
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
723
DROP TABLE t1;
 
724
End of 4.1 tests
 
725
CREATE TABLE t1 (a varchar(64) character set utf16, b decimal(10,3));
 
726
INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
 
727
update t1 set b=a;
 
728
SELECT *, hex(a) FROM t1;
 
729
a       b       hex(a)
 
730
1.1     1.100   0031002E0031
 
731
2.1     2.100   0032002E0031
 
732
DROP TABLE t1;
 
733
create table t1 (utext varchar(20) character set utf16);
 
734
insert into t1 values ("lily");
 
735
insert into t1 values ("river");
 
736
prepare stmt from 'select utext from t1 where utext like ?';
 
737
set @param1='%%';
 
738
execute stmt using @param1;
 
739
utext
 
740
lily
 
741
river
 
742
execute stmt using @param1;
 
743
utext
 
744
lily
 
745
river
 
746
select utext from t1 where utext like '%%';
 
747
utext
 
748
lily
 
749
river
 
750
drop table t1;
 
751
deallocate prepare stmt;
 
752
set names latin1;
 
753
set character_set_connection=utf16;
 
754
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
 
755
soundex('')     soundex('he')   soundex('hello all folks')      soundex('#3556 in bugdb')
 
756
        H000    H4142   I51231
 
757
select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
 
758
hex(soundex(''))        hex(soundex('he'))      hex(soundex('hello all folks')) hex(soundex('#3556 in bugdb'))
 
759
        0048003000300030        00480034003100340032    004900350031003200330031
 
760
select 'mood' sounds like 'mud';
 
761
'mood' sounds like 'mud'
 
762
1
 
763
select hex(soundex(_utf16 0x041004110412));
 
764
hex(soundex(_utf16 0x041004110412))
 
765
0410003000300030
 
766
select hex(soundex(_utf16 0x00BF00C0));
 
767
hex(soundex(_utf16 0x00BF00C0))
 
768
00C0003000300030
 
769
set names latin1;
 
770
create table t1(a blob, b text charset utf16);
 
771
select data_type, character_octet_length, character_maximum_length
 
772
from information_schema.columns where table_name='t1';
 
773
data_type       character_octet_length  character_maximum_length
 
774
blob    65535   65535
 
775
text    65535   32767
 
776
drop table t1;
 
777
End of 5.0 tests
 
778
set collation_connection=utf16_general_ci;
 
779
select @@collation_connection;
 
780
@@collation_connection
 
781
utf16_general_ci
 
782
select hex(weight_string('a'));
 
783
hex(weight_string('a'))
 
784
0041
 
785
select hex(weight_string('A'));
 
786
hex(weight_string('A'))
 
787
0041
 
788
select hex(weight_string('abc'));
 
789
hex(weight_string('abc'))
 
790
004100420043
 
791
select hex(weight_string('abc' as char(2)));
 
792
hex(weight_string('abc' as char(2)))
 
793
00410042
 
794
select hex(weight_string('abc' as char(3)));
 
795
hex(weight_string('abc' as char(3)))
 
796
004100420043
 
797
select hex(weight_string('abc' as char(5)));
 
798
hex(weight_string('abc' as char(5)))
 
799
00410042004300200020
 
800
select hex(weight_string(_utf16 0xD800DC00));
 
801
hex(weight_string(_utf16 0xD800DC00))
 
802
FFFD
 
803
select hex(weight_string(_utf16 0xD800DC01));
 
804
hex(weight_string(_utf16 0xD800DC01))
 
805
FFFD
 
806
select @@collation_connection;
 
807
@@collation_connection
 
808
utf16_general_ci
 
809
select hex(weight_string('a' LEVEL 1));
 
810
hex(weight_string('a' LEVEL 1))
 
811
0041
 
812
select hex(weight_string('A' LEVEL 1));
 
813
hex(weight_string('A' LEVEL 1))
 
814
0041
 
815
select hex(weight_string('abc' LEVEL 1));
 
816
hex(weight_string('abc' LEVEL 1))
 
817
004100420043
 
818
select hex(weight_string('abc' as char(2) LEVEL 1));
 
819
hex(weight_string('abc' as char(2) LEVEL 1))
 
820
00410042
 
821
select hex(weight_string('abc' as char(3) LEVEL 1));
 
822
hex(weight_string('abc' as char(3) LEVEL 1))
 
823
004100420043
 
824
select hex(weight_string('abc' as char(5) LEVEL 1));
 
825
hex(weight_string('abc' as char(5) LEVEL 1))
 
826
00410042004300200020
 
827
select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
 
828
hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
 
829
20002000430042004100
 
830
select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
 
831
hex(weight_string('abc' as char(5) LEVEL 1 DESC))
 
832
FFBEFFBDFFBCFFDFFFDF
 
833
select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
 
834
hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
 
835
DFFFDFFFBCFFBDFFBEFF
 
836
set collation_connection=utf16_bin;
 
837
select @@collation_connection;
 
838
@@collation_connection
 
839
utf16_bin
 
840
select hex(weight_string('a'));
 
841
hex(weight_string('a'))
 
842
0061
 
843
select hex(weight_string('A'));
 
844
hex(weight_string('A'))
 
845
0041
 
846
select hex(weight_string('abc'));
 
847
hex(weight_string('abc'))
 
848
006100620063
 
849
select hex(weight_string('abc' as char(2)));
 
850
hex(weight_string('abc' as char(2)))
 
851
00610062
 
852
select hex(weight_string('abc' as char(3)));
 
853
hex(weight_string('abc' as char(3)))
 
854
006100620063
 
855
select hex(weight_string('abc' as char(5)));
 
856
hex(weight_string('abc' as char(5)))
 
857
00610062006300200020
 
858
select @@collation_connection;
 
859
@@collation_connection
 
860
utf16_bin
 
861
select hex(weight_string('a' LEVEL 1));
 
862
hex(weight_string('a' LEVEL 1))
 
863
0061
 
864
select hex(weight_string('A' LEVEL 1));
 
865
hex(weight_string('A' LEVEL 1))
 
866
0041
 
867
select hex(weight_string('abc' LEVEL 1));
 
868
hex(weight_string('abc' LEVEL 1))
 
869
006100620063
 
870
select hex(weight_string('abc' as char(2) LEVEL 1));
 
871
hex(weight_string('abc' as char(2) LEVEL 1))
 
872
00610062
 
873
select hex(weight_string('abc' as char(3) LEVEL 1));
 
874
hex(weight_string('abc' as char(3) LEVEL 1))
 
875
006100620063
 
876
select hex(weight_string('abc' as char(5) LEVEL 1));
 
877
hex(weight_string('abc' as char(5) LEVEL 1))
 
878
00610062006300200020
 
879
select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
 
880
hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
 
881
20002000630062006100
 
882
select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
 
883
hex(weight_string('abc' as char(5) LEVEL 1 DESC))
 
884
FF9EFF9DFF9CFFDFFFDF
 
885
select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
 
886
hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
 
887
DFFFDFFF9CFF9DFF9EFF
 
888
set names latin1;
 
889
set collation_connection=utf16_general_ci;
 
890
select position('bb' in 'abba');
 
891
position('bb' in 'abba')
 
892
2
 
893
create table t1 (a varchar(10) character set utf16) engine=heap;
 
894
insert into t1 values ('a'),('A'),('b'),('B');
 
895
select * from t1 where a='a' order by binary a;
 
896
a
 
897
A
 
898
a
 
899
select hex(min(binary a)),count(*) from t1 group by a;
 
900
hex(min(binary a))      count(*)
 
901
0041    2
 
902
0042    2
 
903
drop table t1;
 
904
select char_length('abcd'), octet_length('abcd');
 
905
char_length('abcd')     octet_length('abcd')
 
906
4       8
 
907
select char_length(_utf16 0xD800DC00), octet_length(_utf16 0xD800DC00);
 
908
char_length(_utf16 0xD800DC00)  octet_length(_utf16 0xD800DC00)
 
909
1       4
 
910
select char_length(_utf16 0xD87FDFFF), octet_length(_utf16 0xD87FDFFF);
 
911
char_length(_utf16 0xD87FDFFF)  octet_length(_utf16 0xD87FDFFF)
 
912
1       4
 
913
select left('abcd',2);
 
914
left('abcd',2)
 
915
ab
 
916
select hex(left(_utf16 0xD800DC00D87FDFFF, 1));
 
917
hex(left(_utf16 0xD800DC00D87FDFFF, 1))
 
918
D800DC00
 
919
select hex(right(_utf16 0xD800DC00D87FDFFF, 1));
 
920
hex(right(_utf16 0xD800DC00D87FDFFF, 1))
 
921
D87FDFFF
 
922
create table t1 (a varchar(10) character set utf16);
 
923
insert into t1 values (_utf16 0xD800);
 
924
ERROR HY000: Invalid utf16 character string: 'D800'
 
925
insert into t1 values (_utf16 0xDC00);
 
926
ERROR HY000: Invalid utf16 character string: 'DC00'
 
927
insert into t1 values (_utf16 0xD800D800);
 
928
ERROR HY000: Invalid utf16 character string: 'D800D8'
 
929
insert into t1 values (_utf16 0xD800E800);
 
930
ERROR HY000: Invalid utf16 character string: 'D800E8'
 
931
insert into t1 values (_utf16 0xD8000800);
 
932
ERROR HY000: Invalid utf16 character string: 'D80008'
 
933
insert into t1 values (_utf16 0xD800DC00);
 
934
insert into t1 values (_utf16 0xD800DCFF);
 
935
insert into t1 values (_utf16 0xDBFFDC00);
 
936
insert into t1 values (_utf16 0xDBFFDCFF);
 
937
select hex(a) from t1;
 
938
hex(a)
 
939
D800DC00
 
940
D800DCFF
 
941
DBFFDC00
 
942
DBFFDCFF
 
943
drop table t1;
 
944
create table t1 (s1 varchar(50) character set ucs2);
 
945
insert into t1 values (0xdf84);
 
946
alter table t1 modify column s1 varchar(50) character set utf16;
 
947
Warnings:
 
948
Warning 1366    Incorrect string value: '\xDF\x84' for column 's1' at row 1
 
949
select hex(s1) from t1;
 
950
hex(s1)
 
951
003F
 
952
drop table t1;
 
953
create table t1 (s1 varchar(5) character set ucs2, s2 varchar(5) character set utf16);
 
954
insert into t1 (s1) values (0xdf84);
 
955
update t1 set s2 = s1;
 
956
Warnings:
 
957
Warning 1366    Incorrect string value: '\xDF\x84' for column 's2' at row 1
 
958
select hex(s2) from t1;
 
959
hex(s2)
 
960
003F
 
961
drop table t1;
 
962
create table t1 (a char(10)) character set utf16;
 
963
insert into t1 values ('a   ');
 
964
select hex(a) from t1;
 
965
hex(a)
 
966
0061
 
967
drop table t1;
 
968
select upper('abcd'), lower('ABCD');
 
969
upper('abcd')   lower('ABCD')
 
970
ABCD    abcd
 
971
create table t1 (a varchar(10) character set utf16);
 
972
insert into t1 values (123456);
 
973
select a, hex(a) from t1;
 
974
a       hex(a)
 
975
123456  003100320033003400350036
 
976
drop table t1;
 
977
select hex(soundex('a'));
 
978
hex(soundex('a'))
 
979
0041003000300030
 
980
create table t1 (a enum ('a','b','c')) character set utf16;
 
981
insert into t1 values ('1');
 
982
select * from t1;
 
983
a
 
984
a
 
985
drop table t1;
 
986
set names latin1;
 
987
select hex(conv(convert('123' using utf16), -10, 16));
 
988
hex(conv(convert('123' using utf16), -10, 16))
 
989
3742
 
990
select hex(conv(convert('123' using utf16), 10, 16));
 
991
hex(conv(convert('123' using utf16), 10, 16))
 
992
3742
 
993
set names latin1;
 
994
set character_set_connection=utf16;
 
995
select 1.1 + '1.2';
 
996
1.1 + '1.2'
 
997
2.3
 
998
select 1.1 + '1.2xxx';
 
999
1.1 + '1.2xxx'
 
1000
2.3
 
1001
Warnings:
 
1002
Warning 1292    Truncated incorrect DOUBLE value: ''
 
1003
select left('aaa','1');
 
1004
left('aaa','1')
 
1005
a
 
1006
create table t1 (a int);
 
1007
insert into t1 values ('-1234.1e2');
 
1008
insert into t1 values ('-1234.1e2xxxx');
 
1009
Warnings:
 
1010
Warning 1265    Data truncated for column 'a' at row 1
 
1011
insert into t1 values ('-1234.1e2    ');
 
1012
select * from t1;
 
1013
a
 
1014
-123410
 
1015
-123410
 
1016
-123410
 
1017
drop table t1;
 
1018
create table t1 (a int);
 
1019
insert into t1 values ('1 ');
 
1020
insert into t1 values ('1 x');
 
1021
Warnings:
 
1022
Warning 1265    Data truncated for column 'a' at row 1
 
1023
select * from t1;
 
1024
a
 
1025
1
 
1026
1
 
1027
drop table t1;
 
1028
create table t1 (a varchar(17000) character set utf16);
 
1029
Warnings:
 
1030
Note    1246    Converting column 'a' from VARCHAR to TEXT
 
1031
show create table t1;
 
1032
Table   Create Table
 
1033
t1      CREATE TABLE `t1` (
 
1034
  `a` mediumtext CHARACTER SET utf16
 
1035
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
1036
drop table t1;
 
1037
create table t1 (a varchar(250) character set utf16 primary key);
 
1038
show create table t1;
 
1039
Table   Create Table
 
1040
t1      CREATE TABLE `t1` (
 
1041
  `a` varchar(250) CHARACTER SET utf16 NOT NULL,
 
1042
  PRIMARY KEY (`a`)
 
1043
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
1044
drop table t1;
 
1045
create table t1 (a varchar(334) character set utf16 primary key);
 
1046
ERROR 42000: Specified key was too long; max key length is 1332 bytes
 
1047
create table t1 (a char(1) character set utf16);
 
1048
insert into t1 values (0xD800DC00),(0xD800DCFF),(0xDB7FDC00),(0xDB7FDCFF);
 
1049
insert into t1 values (0x00C0), (0x00FF),(0xE000), (0xFFFF);
 
1050
select hex(a), hex(@a:=convert(a using utf8)), hex(convert(@a using utf16)) from t1;
 
1051
hex(a)  hex(@a:=convert(a using utf8))  hex(convert(@a using utf16))
 
1052
D800DC00        F0908080        D800DC00
 
1053
D800DCFF        F09083BF        D800DCFF
 
1054
DB7FDC00        F3AFB080        DB7FDC00
 
1055
DB7FDCFF        F3AFB3BF        DB7FDCFF
 
1056
00C0    C380    00C0
 
1057
00FF    C3BF    00FF
 
1058
E000    EE8080  E000
 
1059
FFFF    EFBFBF  FFFF
 
1060
drop table t1;
 
1061
set collation_connection=utf16_general_ci;
 
1062
drop table if exists t1;
 
1063
create table t1 as
 
1064
select repeat(' ', 64) as s1, repeat(' ',64) as s2
 
1065
union
 
1066
select null, null;
 
1067
show create table t1;
 
1068
Table   Create Table
 
1069
t1      CREATE TABLE `t1` (
 
1070
  `s1` varchar(64) CHARACTER SET utf16 DEFAULT NULL,
 
1071
  `s2` varchar(64) CHARACTER SET utf16 DEFAULT NULL
 
1072
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 
1073
delete from t1;
 
1074
insert into t1 values('aaa','aaa');
 
1075
insert into t1 values('aaa|qqq','qqq');
 
1076
insert into t1 values('gheis','^[^a-dXYZ]+$');
 
1077
insert into t1 values('aab','^aa?b');
 
1078
insert into t1 values('Baaan','^Ba*n');
 
1079
insert into t1 values('aaa','qqq|aaa');
 
1080
insert into t1 values('qqq','qqq|aaa');
 
1081
insert into t1 values('bbb','qqq|aaa');
 
1082
insert into t1 values('bbb','qqq');
 
1083
insert into t1 values('aaa','aba');
 
1084
insert into t1 values(null,'abc');
 
1085
insert into t1 values('def',null);
 
1086
insert into t1 values(null,null);
 
1087
insert into t1 values('ghi','ghi[');
 
1088
select HIGH_PRIORITY s1 regexp s2 from t1;
 
1089
s1 regexp s2
 
1090
1
 
1091
1
 
1092
1
 
1093
1
 
1094
1
 
1095
1
 
1096
1
 
1097
0
 
1098
0
 
1099
0
 
1100
NULL
 
1101
NULL
 
1102
NULL
 
1103
NULL
 
1104
drop table t1;
 
1105
set names latin1;