1
DROP TABLE IF EXISTS t1;
2
SET @test_character_set= 'ucs2';
3
SET @test_collation= 'ucs2_general_ci';
4
SET @safe_character_set_server= @@character_set_server;
5
SET @safe_collation_server= @@collation_server;
6
SET @safe_character_set_client= @@character_set_client;
7
SET @safe_character_set_results= @@character_set_results;
8
SET character_set_server= @test_character_set;
9
SET collation_server= @test_collation;
12
CREATE TABLE t1 (c CHAR(10), KEY(c));
13
SHOW FULL COLUMNS FROM t1;
14
Field Type Collation Null Key Default Extra Privileges Comment
15
c char(10) ucs2_general_ci YES MUL NULL
16
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
17
SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
23
CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
24
SHOW FULL COLUMNS FROM t1;
25
Field Type Collation Null Key Default Extra Privileges Comment
26
c1 varchar(15) ucs2_general_ci YES MUL NULL
27
INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
28
SELECT c1 as want3results from t1 where c1 like 'l%';
33
SELECT c1 as want3results from t1 where c1 like 'lo%';
38
SELECT c1 as want1result from t1 where c1 like 'loc%';
41
SELECT c1 as want1result from t1 where c1 like 'loca%';
44
SELECT c1 as want1result from t1 where c1 like 'locat%';
47
SELECT c1 as want1result from t1 where c1 like 'locati%';
50
SELECT c1 as want1result from t1 where c1 like 'locatio%';
53
SELECT c1 as want1result from t1 where c1 like 'location%';
57
create table t1 (a set('a') not null);
58
insert into t1 values (),();
60
Warning 1364 Field 'a' doesn't have a default value
61
select cast(a as char(1)) from t1;
65
select a sounds like a from t1;
69
select 1 from t1 order by cast(a as char(1));
77
level smallint unsigned);
80
t1 CREATE TABLE `t1` (
81
`name` varchar(10) DEFAULT NULL,
82
`level` smallint(5) unsigned DEFAULT NULL
83
) ENGINE=MyISAM DEFAULT CHARSET=ucs2
84
insert into t1 values ('string',1);
85
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
86
concat(name,space(level)) concat(name, repeat(' ',level))
91
SET character_set_server= @safe_character_set_server;
92
SET collation_server= @safe_collation_server;
93
SET character_set_client= @safe_character_set_client;
94
SET character_set_results= @safe_character_set_results;
96
SET character_set_connection=ucs2;
97
select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
98
'a' = 'a' 'a' = 'a ' 'a ' = 'a'
100
select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
101
'a\0' = 'a' 'a\0' < 'a' 'a\0' > 'a'
103
select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
104
'a' = 'a\0' 'a' < 'a\0' 'a' > 'a\0'
106
select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
107
'a\0' = 'a ' 'a\0' < 'a ' 'a\0' > 'a '
109
select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
110
'a ' = 'a\0' 'a ' < 'a\0' 'a ' > 'a\0'
112
select 'a a' > 'a', 'a \0' < 'a';
113
'a a' > 'a' 'a \0' < 'a'
115
select binary 'a a' > 'a', binary 'a \0' > 'a', binary 'a\0' > 'a';
116
binary 'a a' > 'a' binary 'a \0' > 'a' binary 'a\0' > 'a'
118
SET CHARACTER SET koi8r;
119
create table t1 (a varchar(2) character set ucs2 collate ucs2_bin, key(a));
120
insert into t1 values ('A'),('A'),('B'),('C'),('D'),('A\t');
121
insert into t1 values ('A\0'),('A\0'),('A\0'),('A\0'),('AZ');
122
select hex(a) from t1 where a like 'A_' order by a;
130
select hex(a) from t1 ignore key(a) where a like 'A_' order by a;
139
CREATE TABLE t1 (word VARCHAR(64) CHARACTER SET ucs2, word2 CHAR(64) CHARACTER SET ucs2);
140
INSERT INTO t1 VALUES (_koi8r'�',_koi8r'�'), (X'2004',X'2004');
141
SELECT hex(word) FROM t1 ORDER BY word;
145
SELECT hex(word2) FROM t1 ORDER BY word2;
150
INSERT INTO t1 VALUES (X'042000200020',X'042000200020'), (X'200400200020', X'200400200020');
151
SELECT hex(word) FROM t1 ORDER BY word;
155
SELECT hex(word2) FROM t1 ORDER BY word2;
160
SELECT LPAD(_ucs2 X'0420',10,_ucs2 X'0421');
161
LPAD(_ucs2 X'0420',10,_ucs2 X'0421')
163
SELECT LPAD(_ucs2 X'0420',10,_ucs2 X'04210422');
164
LPAD(_ucs2 X'0420',10,_ucs2 X'04210422')
166
SELECT LPAD(_ucs2 X'0420',10,_ucs2 X'042104220423');
167
LPAD(_ucs2 X'0420',10,_ucs2 X'042104220423')
169
SELECT LPAD(_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423');
170
LPAD(_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423')
172
SELECT RPAD(_ucs2 X'0420',10,_ucs2 X'0421');
173
RPAD(_ucs2 X'0420',10,_ucs2 X'0421')
175
SELECT RPAD(_ucs2 X'0420',10,_ucs2 X'04210422');
176
RPAD(_ucs2 X'0420',10,_ucs2 X'04210422')
178
SELECT RPAD(_ucs2 X'0420',10,_ucs2 X'042104220423');
179
RPAD(_ucs2 X'0420',10,_ucs2 X'042104220423')
181
SELECT RPAD(_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423');
182
RPAD(_ucs2 X'0420042104220423042404250426042704280429042A042B',10,_ucs2 X'042104220423')
184
CREATE TABLE t1 SELECT
185
LPAD(_ucs2 X'0420',10,_ucs2 X'0421') l,
186
RPAD(_ucs2 X'0420',10,_ucs2 X'0421') r;
187
SHOW CREATE TABLE t1;
189
t1 CREATE TABLE `t1` (
190
`l` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT '',
191
`r` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT ''
192
) ENGINE=MyISAM DEFAULT CHARSET=latin1
194
create table t2(f1 Char(30));
195
insert into t2 values ("103000"), ("22720000"), ("3401200"), ("78000");
196
select lpad(f1, 12, "-o-/") from t2;
204
SET character_set_connection=ucs2;
205
create table t1 (a varchar(10) character set ucs2, key(a));
206
insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
207
explain select * from t1 where a like 'abc%';
208
id select_type table type possible_keys key key_len ref rows Extra
209
1 SIMPLE t1 range a a 23 NULL 1 Using where; Using index
210
explain select * from t1 where a like concat('abc','%');
211
id select_type table type possible_keys key key_len ref rows Extra
212
1 SIMPLE t1 range a a 23 NULL 1 Using where; Using index
213
select * from t1 where a like "abc%";
217
select * from t1 where a like concat("abc","%");
221
select * from t1 where a like "ABC%";
225
select * from t1 where a like "test%";
228
select * from t1 where a like "te_t";
231
select * from t1 where a like "%a%";
236
select * from t1 where a like "%abcd%";
239
select * from t1 where a like "%abc\d%";
243
select 'AA' like 'AA';
246
select 'AA' like 'A%A';
249
select 'AA' like 'A%%A';
252
select 'AA' like 'AA%';
255
select 'AA' like '%AA%';
258
select 'AA' like '%A';
261
select 'AA' like '%AA';
264
select 'AA' like 'A%A%';
267
select 'AA' like '_%_%';
270
select 'AA' like '%A%A';
273
select 'AAA'like 'A%A%A';
276
select 'AZ' like 'AZ';
279
select 'AZ' like 'A%Z';
282
select 'AZ' like 'A%%Z';
285
select 'AZ' like 'AZ%';
288
select 'AZ' like '%AZ%';
291
select 'AZ' like '%Z';
294
select 'AZ' like '%AZ';
297
select 'AZ' like 'A%Z%';
300
select 'AZ' like '_%_%';
303
select 'AZ' like '%A%Z';
306
select 'AZ' like 'A_';
309
select 'AZ' like '_Z';
312
select 'AMZ'like 'A%M%Z';
315
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET ucs2);
316
INSERT INTO t1 VALUES ('����'),('����'),('����'),('����'),('����'),('����');
317
INSERT INTO t1 VALUES ('����������'),('����������'),('����������'),('����������');
318
INSERT INTO t1 VALUES ('����������'),('����������'),('����������'),('����������');
319
INSERT INTO t1 VALUES ('����������'),('����������'),('����������'),('����������');
320
SELECT * FROM t1 WHERE a LIKE '%����%';
340
SELECT * FROM t1 WHERE a LIKE '%���%';
360
SELECT * FROM t1 WHERE a LIKE '����%';
380
SELECT * FROM t1 WHERE a LIKE '����%' COLLATE ucs2_bin;
385
CREATE TABLE t1 (word varchar(64) NOT NULL, PRIMARY KEY (word))
386
ENGINE=MyISAM CHARACTER SET ucs2 COLLATE ucs2_general_ci;
387
INSERT INTO t1 (word) VALUES ("cat");
388
SELECT * FROM t1 WHERE word LIKE "c%";
391
SELECT * FROM t1 WHERE word LIKE "ca_";
394
SELECT * FROM t1 WHERE word LIKE "cat";
397
SELECT * FROM t1 WHERE word LIKE _ucs2 x'00630025';
400
SELECT * FROM t1 WHERE word LIKE _ucs2 x'00630061005F';
404
select insert(_ucs2 0x006100620063,10,2,_ucs2 0x006400650066);
405
insert(_ucs2 0x006100620063,10,2,_ucs2 0x006400650066)
407
select insert(_ucs2 0x006100620063,1,2,_ucs2 0x006400650066);
408
insert(_ucs2 0x006100620063,1,2,_ucs2 0x006400650066)
413
bar INT(11) default 0,
417
COLLATE ucs2_general_ci ;
418
INSERT INTO t1 (word) VALUES ("aar");
419
INSERT INTO t1 (word) VALUES ("a");
420
INSERT INTO t1 (word) VALUES ("aardvar");
421
INSERT INTO t1 (word) VALUES ("aardvark");
422
INSERT INTO t1 (word) VALUES ("aardvara");
423
INSERT INTO t1 (word) VALUES ("aardvarz");
424
EXPLAIN SELECT * FROM t1 ORDER BY word;
425
id select_type table type possible_keys key key_len ref rows Extra
426
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
427
SELECT * FROM t1 ORDER BY word;
435
EXPLAIN SELECT word FROM t1 ORDER BY word;
436
id select_type table type possible_keys key key_len ref rows Extra
437
1 SIMPLE t1 index NULL PRIMARY 130 NULL 6 Using index
438
SELECT word FROM t1 ORDER by word;
452
COLLATE ucs2_general_ci;
453
INSERT INTO t1 (word) VALUES ("aar");
454
INSERT INTO t1 (word) VALUES ("a");
455
INSERT INTO t1 (word) VALUES ("aardvar");
456
INSERT INTO t1 (word) VALUES ("aardvark");
457
INSERT INTO t1 (word) VALUES ("aardvara");
458
INSERT INTO t1 (word) VALUES ("aardvarz");
459
EXPLAIN SELECT * FROM t1 ORDER BY WORD;
460
id select_type table type possible_keys key key_len ref rows Extra
461
1 SIMPLE t1 index NULL PRIMARY 130 NULL 6 Using index
462
SELECT * FROM t1 ORDER BY word;
473
bar INT(11) AUTO_INCREMENT,
477
COLLATE ucs2_general_ci ;
478
INSERT INTO t1 (word) VALUES ("aar");
479
INSERT INTO t1 (word) VALUES ("a" );
480
INSERT INTO t1 (word) VALUES ("aardvar");
481
INSERT INTO t1 (word) VALUES ("aardvark");
482
INSERT INTO t1 (word) VALUES ("aardvara");
483
INSERT INTO t1 (word) VALUES ("aardvarz");
484
EXPLAIN SELECT * FROM t1 ORDER BY word;
485
id select_type table type possible_keys key key_len ref rows Extra
486
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
487
SELECT * FROM t1 ORDER BY word;
495
EXPLAIN SELECT word FROM t1 ORDER BY word;
496
id select_type table type possible_keys key key_len ref rows Extra
497
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
498
SELECT word FROM t1 ORDER BY word;
507
SELECT HEX(_ucs2 0x0);
510
SELECT HEX(_ucs2 0x01);
513
SELECT HEX(_ucs2 0x012);
516
SELECT HEX(_ucs2 0x0123);
519
SELECT HEX(_ucs2 0x01234);
522
SELECT HEX(_ucs2 0x012345);
525
SELECT HEX(_ucs2 0x0123456);
528
SELECT HEX(_ucs2 0x01234567);
529
HEX(_ucs2 0x01234567)
531
SELECT HEX(_ucs2 0x012345678);
532
HEX(_ucs2 0x012345678)
534
SELECT HEX(_ucs2 0x0123456789);
535
HEX(_ucs2 0x0123456789)
537
SELECT HEX(_ucs2 0x0123456789A);
538
HEX(_ucs2 0x0123456789A)
540
SELECT HEX(_ucs2 0x0123456789AB);
541
HEX(_ucs2 0x0123456789AB)
543
SELECT HEX(_ucs2 0x0123456789ABC);
544
HEX(_ucs2 0x0123456789ABC)
546
SELECT HEX(_ucs2 0x0123456789ABCD);
547
HEX(_ucs2 0x0123456789ABCD)
549
SELECT HEX(_ucs2 0x0123456789ABCDE);
550
HEX(_ucs2 0x0123456789ABCDE)
552
SELECT HEX(_ucs2 0x0123456789ABCDEF);
553
HEX(_ucs2 0x0123456789ABCDEF)
555
SELECT hex(cast(0xAA as char character set ucs2));
556
hex(cast(0xAA as char character set ucs2))
558
SELECT hex(convert(0xAA using ucs2));
559
hex(convert(0xAA using ucs2))
561
CREATE TABLE t1 (a char(10) character set ucs2);
562
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
563
SELECT HEX(a) FROM t1;
571
CREATE TABLE t1 (a varchar(10) character set ucs2);
572
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
573
SELECT HEX(a) FROM t1;
581
CREATE TABLE t1 (a text character set ucs2);
582
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
583
SELECT HEX(a) FROM t1;
591
CREATE TABLE t1 (a mediumtext character set ucs2);
592
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
593
SELECT HEX(a) FROM t1;
601
CREATE TABLE t1 (a longtext character set ucs2);
602
INSERT INTO t1 VALUES (0xA),(0xAA),(0xAAA),(0xAAAA),(0xAAAAA);
603
SELECT HEX(a) FROM t1;
611
create table t1 (s1 char character set `ucs2` collate `ucs2_czech_ci`);
612
insert into t1 values ('0'),('1'),('2'),('a'),('b'),('c');
613
select s1 from t1 where s1 > 'a' order by s1;
618
create table t1(a char(1)) default charset = ucs2;
619
insert into t1 values ('a'),('b'),('c');
620
alter table t1 modify a char(5);
621
select a, hex(a) from t1;
628
set @str1 = 'select ?';
629
set @str2 = convert(@str1 using ucs2);
630
prepare stmt1 from @str2;
631
execute stmt1 using @ivar;
635
create table t1 (a enum('x','y','z') character set ucs2);
636
show create table t1;
638
t1 CREATE TABLE `t1` (
639
`a` enum('x','y','z') CHARACTER SET ucs2 DEFAULT NULL
640
) ENGINE=MyISAM DEFAULT CHARSET=latin1
641
insert into t1 values ('x');
642
insert into t1 values ('y');
643
insert into t1 values ('z');
644
select a, hex(a) from t1 order by a;
649
alter table t1 change a a enum('x','y','z','d','e','�','�','�') character set ucs2;
650
show create table t1;
652
t1 CREATE TABLE `t1` (
653
`a` enum('x','y','z','d','e','�','�','�') CHARACTER SET ucs2 DEFAULT NULL
654
) ENGINE=MyISAM DEFAULT CHARSET=latin1
655
insert into t1 values ('D');
656
insert into t1 values ('E ');
657
insert into t1 values ('�');
658
insert into t1 values ('�');
659
insert into t1 values ('�');
660
select a, hex(a) from t1 order by a;
671
create table t1 (a set ('x','y','z','�','�','�') character set ucs2);
672
show create table t1;
674
t1 CREATE TABLE `t1` (
675
`a` set('x','y','z','�','�','�') CHARACTER SET ucs2 DEFAULT NULL
676
) ENGINE=MyISAM DEFAULT CHARSET=latin1
677
insert into t1 values ('x');
678
insert into t1 values ('y');
679
insert into t1 values ('z');
680
insert into t1 values ('x,y');
681
insert into t1 values ('x,y,z,�,�,�');
682
select a, hex(a) from t1 order by a;
688
x,y,z,�,�,� 0078002C0079002C007A002C00E4002C00F6002C00FC
690
create table t1(a enum('a','b','c')) default character set ucs2;
691
insert into t1 values('a'),('b'),('c');
692
alter table t1 add b char(1);
695
select * from t1 order by a;
701
SET collation_connection='ucs2_general_ci';
702
create table t1 select repeat('a',4000) a;
704
insert into t1 values ('a'), ('a '), ('a\t');
705
select collation(a),hex(a) from t1 order by a;
707
ucs2_general_ci 00610009
709
ucs2_general_ci 00610020
711
select @@collation_connection;
712
@@collation_connection
714
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
715
insert into t1 values('abcdef');
716
insert into t1 values('_bcdef');
717
insert into t1 values('a_cdef');
718
insert into t1 values('ab_def');
719
insert into t1 values('abc_ef');
720
insert into t1 values('abcd_f');
721
insert into t1 values('abcde_');
722
select c1 as c1u from t1 where c1 like 'ab\_def';
725
select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
729
drop table if exists t1;
730
create table t1 as select repeat(' ', 64) as s1;
731
select collation(s1) from t1;
735
insert into t1 values ('a'),('ae'),(_latin1 0xE4);
736
insert into t1 values ('o'),('oe'),(_latin1 0xF6);
737
insert into t1 values ('s'),('ss'),(_latin1 0xDF);
738
insert into t1 values ('u'),('ue'),(_latin1 0xFC);
739
select s1, hex(s1) from t1 order by s1, binary s1;
753
select group_concat(s1 order by binary s1) from t1 group by s1;
754
group_concat(s1 order by binary s1)
765
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
766
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
767
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
768
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
769
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
770
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
771
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
772
hex(concat(repeat(0xF1F2, 10), '%'))
773
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
775
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
777
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
778
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
779
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
782
SET collation_connection='ucs2_bin';
783
create table t1 select repeat('a',4000) a;
785
insert into t1 values ('a'), ('a '), ('a\t');
786
select collation(a),hex(a) from t1 order by a;
792
select @@collation_connection;
793
@@collation_connection
795
create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
796
insert into t1 values('abcdef');
797
insert into t1 values('_bcdef');
798
insert into t1 values('a_cdef');
799
insert into t1 values('ab_def');
800
insert into t1 values('abc_ef');
801
insert into t1 values('abcd_f');
802
insert into t1 values('abcde_');
803
select c1 as c1u from t1 where c1 like 'ab\_def';
806
select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
811
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
812
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
813
INSERT INTO t1 (a, b) VALUES (1, repeat(0xF1F2,5));
814
INSERT INTO t1 (a, b) VALUES (2, repeat(0xF1F2,10));
815
INSERT INTO t1 (a, b) VALUES (3, repeat(0xF1F2,11));
816
INSERT INTO t1 (a, b) VALUES (4, repeat(0xF1F2,12));
817
SELECT hex(concat(repeat(0xF1F2, 10), '%'));
818
hex(concat(repeat(0xF1F2, 10), '%'))
819
F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F20025
821
SELECT a, hex(b), c FROM t1 WHERE b LIKE concat(repeat(0xF1F2,10), '%');
823
2 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
824
3 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
825
4 F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2F1F2
827
select hex(substr(_ucs2 0x00e400e50068,1));
828
hex(substr(_ucs2 0x00e400e50068,1))
830
select hex(substr(_ucs2 0x00e400e50068,2));
831
hex(substr(_ucs2 0x00e400e50068,2))
833
select hex(substr(_ucs2 0x00e400e50068,3));
834
hex(substr(_ucs2 0x00e400e50068,3))
836
select hex(substr(_ucs2 0x00e400e50068,-1));
837
hex(substr(_ucs2 0x00e400e50068,-1))
839
select hex(substr(_ucs2 0x00e400e50068,-2));
840
hex(substr(_ucs2 0x00e400e50068,-2))
842
select hex(substr(_ucs2 0x00e400e50068,-3));
843
hex(substr(_ucs2 0x00e400e50068,-3))
846
SET collation_connection='ucs2_swedish_ci';
847
CREATE TABLE t1 (Field1 int(10) default '0');
848
INSERT INTO t1 VALUES ('-1');
853
CREATE TABLE t1 (Field1 int(10) unsigned default '0');
854
INSERT INTO t1 VALUES ('-1');
856
Warning 1264 Out of range value for column 'Field1' at row 1
859
SELECT CONVERT(103, CHAR(50) UNICODE);
860
CONVERT(103, CHAR(50) UNICODE)
862
SELECT CONVERT(103.0, CHAR(50) UNICODE);
863
CONVERT(103.0, CHAR(50) UNICODE)
865
SELECT CONVERT(-103, CHAR(50) UNICODE);
866
CONVERT(-103, CHAR(50) UNICODE)
868
SELECT CONVERT(-103.0, CHAR(50) UNICODE);
869
CONVERT(-103.0, CHAR(50) UNICODE)
872
a varchar(255) NOT NULL default '',
874
) ENGINE=MyISAM DEFAULT CHARSET=ucs2 COLLATE ucs2_general_ci;
875
insert into t1 values (0x803d);
876
insert into t1 values (0x005b);
877
select hex(a) from t1;
882
create table t1(f1 varchar(5) CHARACTER SET ucs2 COLLATE ucs2_bin NOT NULL) engine=InnoDB;
883
insert into t1 values('a');
884
create index t1f1 on t1(f1);
885
select f1 from t1 where f1 like 'a%';
889
create table t1 (utext varchar(20) character set ucs2);
890
insert into t1 values ("lily");
891
insert into t1 values ("river");
892
prepare stmt from 'select utext from t1 where utext like ?';
894
execute stmt using @param1;
898
execute stmt using @param1;
902
select utext from t1 where utext like '%%';
907
deallocate prepare stmt;
909
a char(10) unicode not null,
912
insert into t1 values (repeat(0x201f, 10));
913
insert into t1 values (repeat(0x2020, 10));
914
insert into t1 values (repeat(0x2021, 10));
915
explain select hex(a) from t1 order by a;
916
id select_type table type possible_keys key key_len ref rows Extra
917
1 SIMPLE t1 index NULL a 20 NULL 3 Using index
918
select hex(a) from t1 order by a;
920
201F201F201F201F201F201F201F201F201F201F
921
2020202020202020202020202020202020202020
922
2021202120212021202120212021202120212021
923
alter table t1 drop index a;
924
select hex(a) from t1 order by a;
926
201F201F201F201F201F201F201F201F201F201F
927
2020202020202020202020202020202020202020
928
2021202120212021202120212021202120212021
930
CREATE TABLE t1 (id int, s char(5) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci);
931
INSERT INTO t1 VALUES (1, 'ZZZZZ'), (1, 'ZZZ'), (2, 'ZZZ'), (2, 'ZZZZZ');
932
SELECT id, MIN(s) FROM t1 GROUP BY id;
937
drop table if exists bug20536;
939
create table bug20536 (id bigint not null auto_increment primary key, name
940
varchar(255) character set ucs2 not null);
941
insert into `bug20536` (`id`,`name`) values (1, _latin1 x'7465737431'), (2, "'test\\_2'");
942
select md5(name) from bug20536;
944
f4b7ce8b45a20e3c4e84bef515d1525c
945
48d95db0d8305c2fe11548a3635c9385
946
select sha1(name) from bug20536;
948
e0b52f38deddb9f9e8d5336b153592794cb49baf
949
677d4d505355eb5b0549b865fcae4b7f0c28aef5
950
select make_set(3, name, upper(name)) from bug20536;
951
make_set(3, name, upper(name))
954
select export_set(5, name, upper(name)) from bug20536;
955
export_set(5, name, upper(name))
956
test1,TEST1,test1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1,TEST1
957
'test\_2','TEST\_2','test\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2','TEST\_2'
958
select export_set(5, name, upper(name), ",", 5) from bug20536;
959
export_set(5, name, upper(name), ",", 5)
960
test1,TEST1,test1,TEST1,TEST1
961
'test\_2','TEST\_2','test\_2','TEST\_2','TEST\_2'
963
status enum('active','passive') collate latin1_general_ci
964
NOT NULL default 'passive'
966
SHOW CREATE TABLE t1;
968
t1 CREATE TABLE `t1` (
969
`status` enum('active','passive') CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT 'passive'
970
) ENGINE=MyISAM DEFAULT CHARSET=latin1
971
ALTER TABLE t1 ADD a int NOT NULL AFTER status;
973
status enum('active','passive') collate ucs2_turkish_ci
974
NOT NULL default 'passive'
976
SHOW CREATE TABLE t2;
978
t2 CREATE TABLE `t2` (
979
`status` enum('active','passive') CHARACTER SET ucs2 COLLATE ucs2_turkish_ci NOT NULL DEFAULT 'passive'
980
) ENGINE=MyISAM DEFAULT CHARSET=latin1
981
ALTER TABLE t2 ADD a int NOT NULL AFTER status;
983
select password(name) from bug20536;
987
select old_password(name) from bug20536;
991
select quote(name) from bug20536;
997
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
998
set names ucs2 collate ucs2_bin;
999
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
1000
set character_set_client= ucs2;
1001
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
1002
set character_set_client= concat('ucs', substr('2', 1));
1003
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
1004
CREATE TABLE t1(a TEXT CHARSET ucs2 COLLATE ucs2_unicode_ci);
1005
INSERT INTO t1 VALUES('abcd');
1006
SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abcd' IN BOOLEAN MODE);
1011
CREATE TABLE t1 (a varchar(64) character set ucs2, b decimal(10,3));
1012
INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
1019
create table t1 (utext varchar(20) character set ucs2);
1020
insert into t1 values ("lily");
1021
insert into t1 values ("river");
1022
prepare stmt from 'select utext from t1 where utext like ?';
1024
execute stmt using @param1;
1028
execute stmt using @param1;
1032
select utext from t1 where utext like '%%';
1037
deallocate prepare stmt;
1039
set character_set_connection=ucs2;
1040
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
1041
soundex('') soundex('he') soundex('hello all folks') soundex('#3556 in bugdb')
1043
select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
1044
hex(soundex('')) hex(soundex('he')) hex(soundex('hello all folks')) hex(soundex('#3556 in bugdb'))
1045
0048003000300030 00480034003100340032 004900350031003200330031
1046
select 'mood' sounds like 'mud';
1047
'mood' sounds like 'mud'
1049
select hex(soundex(_ucs2 0x041004110412));
1050
hex(soundex(_ucs2 0x041004110412))
1052
select hex(soundex(_ucs2 0x00BF00C0));
1053
hex(soundex(_ucs2 0x00BF00C0))
1056
create table t1(a blob, b text charset utf8, c text charset ucs2);
1057
select data_type, character_octet_length, character_maximum_length
1058
from information_schema.columns where table_name='t1';
1059
data_type character_octet_length character_maximum_length
1064
create table t1 (a char(1) character set ucs2);
1065
insert into t1 values ('a'),('b'),('c');
1066
select hex(group_concat(a)) from t1;
1067
hex(group_concat(a))
1068
0061002C0062002C0063
1069
select collation(group_concat(a)) from t1;
1070
collation(group_concat(a))
1074
create table t1 (a char(1) character set latin1);
1075
insert into t1 values ('a'),('b'),('c');
1076
set character_set_connection=ucs2;
1077
select hex(group_concat(a separator ',')) from t1;
1078
hex(group_concat(a separator ','))
1080
select collation(group_concat(a separator ',')) from t1;
1081
collation(group_concat(a separator ','))
1085
create table t1 (s1 char(1) character set ascii, s2 char(1) character set ucs2);
1086
insert into t1 (s1) values (0x7f);
1087
update t1 set s2 = s1;
1088
select hex(s2) from t1;
1091
select hex(convert(s1 using latin1)) from t1;
1092
hex(convert(s1 using latin1))
1095
create table t1 (a varchar(15) character set ascii not null, b int);
1096
insert into t1 values ('a',1);
1097
select concat(a,if(b<10,_ucs2 0x0061,_ucs2 0x0062)) from t1;
1098
concat(a,if(b<10,_ucs2 0x0061,_ucs2 0x0062))
1100
select concat(a,if(b>10,_ucs2 0x0061,_ucs2 0x0062)) from t1;
1101
concat(a,if(b>10,_ucs2 0x0061,_ucs2 0x0062))
1103
select * from t1 where a=if(b<10,_ucs2 0x0061,_ucs2 0x0062);
1106
select * from t1 where a=if(b>10,_ucs2 0x0061,_ucs2 0x0062);
1108
select concat(a,if(b<10,_ucs2 0x00C0,_ucs2 0x0062)) from t1;
1109
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
1110
select concat(a,if(b>10,_ucs2 0x00C0,_ucs2 0x0062)) from t1;
1111
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
1112
select concat(a,if(b<10,_ucs2 0x0062,_ucs2 0x00C0)) from t1;
1113
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
1114
select concat(a,if(b>10,_ucs2 0x0062,_ucs2 0x00C0)) from t1;
1115
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation 'concat'
1116
select * from t1 where a=if(b<10,_ucs2 0x00C0,_ucs2 0x0062);
1117
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation '='
1118
select * from t1 where a=if(b<10,_ucs2 0x0062,_ucs2 0x00C0);
1119
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation '='
1121
CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET UCS2);
1122
INSERT INTO t1 VALUES ('a');
1123
SET @@sql_mode=pad_char_to_full_length;
1124
SELECT HEX(s1) FROM t1;
1126
00610020002000200020
1127
SET @@sql_mode=default;
1128
SELECT HEX(s1) FROM t1;
1132
set collation_connection=ucs2_general_ci;
1133
drop table if exists t1;
1135
select repeat(' ', 64) as s1, repeat(' ',64) as s2
1138
show create table t1;
1140
t1 CREATE TABLE `t1` (
1141
`s1` varchar(64) CHARACTER SET ucs2 DEFAULT NULL,
1142
`s2` varchar(64) CHARACTER SET ucs2 DEFAULT NULL
1143
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1145
insert into t1 values('aaa','aaa');
1146
insert into t1 values('aaa|qqq','qqq');
1147
insert into t1 values('gheis','^[^a-dXYZ]+$');
1148
insert into t1 values('aab','^aa?b');
1149
insert into t1 values('Baaan','^Ba*n');
1150
insert into t1 values('aaa','qqq|aaa');
1151
insert into t1 values('qqq','qqq|aaa');
1152
insert into t1 values('bbb','qqq|aaa');
1153
insert into t1 values('bbb','qqq');
1154
insert into t1 values('aaa','aba');
1155
insert into t1 values(null,'abc');
1156
insert into t1 values('def',null);
1157
insert into t1 values(null,null);
1158
insert into t1 values('ghi','ghi[');
1159
select HIGH_PRIORITY s1 regexp s2 from t1;
1177
select hex(char(0x41 using ucs2));
1178
hex(char(0x41 using ucs2))
1180
SET character_set_connection=ucs2;
1181
SELECT CHARSET(DAYNAME(19700101));
1182
CHARSET(DAYNAME(19700101))
1184
SELECT CHARSET(MONTHNAME(19700101));
1185
CHARSET(MONTHNAME(19700101))
1187
SELECT LOWER(DAYNAME(19700101));
1188
LOWER(DAYNAME(19700101))
1190
SELECT LOWER(MONTHNAME(19700101));
1191
LOWER(MONTHNAME(19700101))
1193
SELECT UPPER(DAYNAME(19700101));
1194
UPPER(DAYNAME(19700101))
1196
SELECT UPPER(MONTHNAME(19700101));
1197
UPPER(MONTHNAME(19700101))
1199
SELECT HEX(MONTHNAME(19700101));
1200
HEX(MONTHNAME(19700101))
1201
004A0061006E0075006100720079
1202
SELECT HEX(DAYNAME(19700101));
1203
HEX(DAYNAME(19700101))
1204
00540068007500720073006400610079
1205
SET LC_TIME_NAMES=ru_RU;
1207
SET character_set_connection=ucs2;
1208
SELECT CHARSET(DAYNAME(19700101));
1209
CHARSET(DAYNAME(19700101))
1211
SELECT CHARSET(MONTHNAME(19700101));
1212
CHARSET(MONTHNAME(19700101))
1214
SELECT LOWER(DAYNAME(19700101));
1215
LOWER(DAYNAME(19700101))
1217
SELECT LOWER(MONTHNAME(19700101));
1218
LOWER(MONTHNAME(19700101))
1220
SELECT UPPER(DAYNAME(19700101));
1221
UPPER(DAYNAME(19700101))
1223
SELECT UPPER(MONTHNAME(19700101));
1224
UPPER(MONTHNAME(19700101))
1226
SELECT HEX(MONTHNAME(19700101));
1227
HEX(MONTHNAME(19700101))
1228
042F043D043204300440044F
1229
SELECT HEX(DAYNAME(19700101));
1230
HEX(DAYNAME(19700101))
1231
0427043504420432043504400433
1232
SET character_set_connection=latin1;