drop table if exists t1; SET NAMES latin2; CREATE TABLE t1 (a char(1) character set latin2); INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27); INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F); INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37); INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F); INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47); INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F); INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57); INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F); INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67); INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F); INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77); INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F); INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87); INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F); INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97); INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F); INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7); INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF); INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7); INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF); INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7); INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF); INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7); INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF); INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7); INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF); INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7); INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF); SELECT hex(a) ha, hex(lower(a)) hl, hex(upper(a)) hu, a, lower(a) l, upper(a) u from t1 order by ha; ha hl hu a l u 21 21 21 ! ! ! 22 22 22 " " " 23 23 23 # # # 24 24 24 $ $ $ 25 25 25 % % % 26 26 26 & & & 27 27 27 ' ' ' 28 28 28 ( ( ( 29 29 29 ) ) ) 2A 2A 2A * * * 2B 2B 2B + + + 2C 2C 2C , , , 2D 2D 2D - - - 2E 2E 2E . . . 2F 2F 2F / / / 30 30 30 0 0 0 31 31 31 1 1 1 32 32 32 2 2 2 33 33 33 3 3 3 34 34 34 4 4 4 35 35 35 5 5 5 36 36 36 6 6 6 37 37 37 7 7 7 38 38 38 8 8 8 39 39 39 9 9 9 3A 3A 3A : : : 3B 3B 3B ; ; ; 3C 3C 3C < < < 3D 3D 3D = = = 3E 3E 3E > > > 3F 3F 3F ? ? ? 40 40 40 @ @ @ 41 61 41 A a A 42 62 42 B b B 43 63 43 C c C 44 64 44 D d D 45 65 45 E e E 46 66 46 F f F 47 67 47 G g G 48 68 48 H h H 49 69 49 I i I 4A 6A 4A J j J 4B 6B 4B K k K 4C 6C 4C L l L 4D 6D 4D M m M 4E 6E 4E N n N 4F 6F 4F O o O 50 70 50 P p P 51 71 51 Q q Q 52 72 52 R r R 53 73 53 S s S 54 74 54 T t T 55 75 55 U u U 56 76 56 V v V 57 77 57 W w W 58 78 58 X x X 59 79 59 Y y Y 5A 7A 5A Z z Z 5B 5B 5B [ [ [ 5C 5C 5C \ \ \ 5D 5D 5D ] ] ] 5E 5E 5E ^ ^ ^ 5F 5F 5F _ _ _ 60 60 60 ` ` ` 61 61 41 a a A 62 62 42 b b B 63 63 43 c c C 64 64 44 d d D 65 65 45 e e E 66 66 46 f f F 67 67 47 g g G 68 68 48 h h H 69 69 49 i i I 6A 6A 4A j j J 6B 6B 4B k k K 6C 6C 4C l l L 6D 6D 4D m m M 6E 6E 4E n n N 6F 6F 4F o o O 70 70 50 p p P 71 71 51 q q Q 72 72 52 r r R 73 73 53 s s S 74 74 54 t t T 75 75 55 u u U 76 76 56 v v V 77 77 57 w w W 78 78 58 x x X 79 79 59 y y Y 7A 7A 5A z z Z 7B 7B 7B { { { 7C 7C 7C | | | 7D 7D 7D } } } 7E 7E 7E ~ ~ ~ 7F 7F 7F    80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85 86 86 86 87 87 87 88 88 88 89 89 89 8A 8A 8A 8B 8B 8B 8C 8C 8C 8D 8D 8D 8E 8E 8E 8F 8F 8F 90 90 90 91 91 91 92 92 92 93 93 93 94 94 94 95 95 95 96 96 96 97 97 97 98 98 98 99 99 99 9A 9A 9A 9B 9B 9B 9C 9C 9C 9D 9D 9D 9E 9E 9E 9F 9F 9F A0 A0 A0 A1 B1 A1 A2 A2 A2 A3 B3 A3 A4 A4 A4 A5 B5 A5 A6 B6 A6 A7 A7 A7 A8 A8 A8 A9 B9 A9 AA BA AA AB BB AB AC BC AC AD AD AD AE BE AE AF BF AF B0 B0 B0 B1 B1 A1 B2 B2 B2 B3 B3 A3 B4 B4 B4 B5 B5 A5 B6 B6 A6 B7 B7 B7 B8 B8 B8 B9 B9 A9 BA BA AA BB BB AB BC BC AC BD BD BD BE BE AE BF BF AF C0 E0 C0 C1 E1 C1 C2 E2 C2 C3 E3 C3 C4 E4 C4 C5 E5 C5 C6 E6 C6 C7 E7 C7 C8 E8 C8 C9 E9 C9 CA EA CA CB EB CB CC EC CC CD ED CD CE EE CE CF EF CF D0 F0 D0 D1 F1 D1 D2 F2 D2 D3 F3 D3 D4 F4 D4 D5 F5 D5 D6 F6 D6 D7 D7 D7 D8 F8 D8 D9 F9 D9 DA FA DA DB FB DB DC FC DC DD FD DD DE FE DE DF DF DF E0 E0 C0 E1 E1 C1 E2 E2 C2 E3 E3 C3 E4 E4 C4 E5 E5 C5 E6 E6 C6 E7 E7 C7 E8 E8 C8 E9 E9 C9 EA EA CA EB EB CB EC EC CC ED ED CD EE EE CE EF EF CF F0 F0 D0 F1 F1 D1 F2 F2 D2 F3 F3 D3 F4 F4 D4 F5 F5 D5 F6 F6 D6 F7 F7 F7 F8 F8 D8 F9 F9 D9 FA FA DA FB FB DB FC FC DC FD FD DD FE FE DE FF FF FF SELECT group_concat(a collate latin2_croatian_ci order by binary a) from t1 group by a collate latin2_croatian_ci; group_concat(a collate latin2_croatian_ci order by binary a) ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A,a,,,,,,,,,, B,b C,c,, , , D,d,, , E,e,,,,,,,, F,f G,g H,h I,i,,,, J,j K,k L,l,,,,,, M,m N,n,,,, O,o,,,,,,,, P,p Q,q R,r,,,, S,s,,,,, , T,t,,,, U,u,,,,,,,, V,v W,w X,x Y,y,, Z,z,,,, , [ \ ] ^ _ ` { | } ~  drop table t1; End of 5.1 tests # # Start of 5.6 tests # # # WL#3664 WEIGHT_STRING # set names latin2; select @@collation_connection; @@collation_connection latin2_general_ci CREATE TABLE t1 AS SELECT 'a' AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(1) CHARACTER SET latin2 NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `ws` varbinary(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(WEIGHT_STRING(a)) FROM t1; HEX(WEIGHT_STRING(a)) 41 SELECT HEX(ws) FROM t2; HEX(ws) 41 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(5) CHARACTER SET latin2 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `ws` varbinary(5) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(WEIGHT_STRING(a)) FROM t1; HEX(WEIGHT_STRING(a)) 4141414141 SELECT HEX(ws) FROM t2; HEX(ws) 4141414141 DROP TABLE t2; CREATE TABLE t2 AS SELECT WEIGHT_STRING(a AS CHAR(3)) AS ws FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `ws` varbinary(3) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(WEIGHT_STRING(a AS CHAR(3))) FROM t1; HEX(WEIGHT_STRING(a AS CHAR(3))) 414141 SELECT HEX(ws) FROM t2; HEX(ws) 414141 DROP TABLE t2; CREATE TABLE t2 AS SELECT WEIGHT_STRING(a AS CHAR(10)) AS ws FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `ws` varbinary(10) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; HEX(WEIGHT_STRING(a AS CHAR(10))) 41414141412020202020 SELECT HEX(ws) FROM t2; HEX(ws) 41414141412020202020 DROP TABLE t2; DROP TABLE t1; select hex(weight_string('a')); hex(weight_string('a')) 41 select hex(weight_string('A')); hex(weight_string('A')) 41 select hex(weight_string('abc')); hex(weight_string('abc')) 414445 select hex(weight_string('abc' as char(2))); hex(weight_string('abc' as char(2))) 4144 select hex(weight_string('abc' as char(3))); hex(weight_string('abc' as char(3))) 414445 select hex(weight_string('abc' as char(5))); hex(weight_string('abc' as char(5))) 4144452020 select hex(weight_string('abc', 1, 2, 0xC0)); hex(weight_string('abc', 1, 2, 0xC0)) 41 select hex(weight_string('abc', 2, 2, 0xC0)); hex(weight_string('abc', 2, 2, 0xC0)) 4144 select hex(weight_string('abc', 3, 2, 0xC0)); hex(weight_string('abc', 3, 2, 0xC0)) 414420 select hex(weight_string('abc', 4, 2, 0xC0)); hex(weight_string('abc', 4, 2, 0xC0)) 41442020 select hex(weight_string('abc', 5, 2, 0xC0)); hex(weight_string('abc', 5, 2, 0xC0)) 4144202020 select hex(weight_string('abc',25, 2, 0xC0)); hex(weight_string('abc',25, 2, 0xC0)) 41442020202020202020202020202020202020202020202020 select hex(weight_string('abc', 1, 3, 0xC0)); hex(weight_string('abc', 1, 3, 0xC0)) 41 select hex(weight_string('abc', 2, 3, 0xC0)); hex(weight_string('abc', 2, 3, 0xC0)) 4144 select hex(weight_string('abc', 3, 3, 0xC0)); hex(weight_string('abc', 3, 3, 0xC0)) 414445 select hex(weight_string('abc', 4, 3, 0xC0)); hex(weight_string('abc', 4, 3, 0xC0)) 41444520 select hex(weight_string('abc', 5, 3, 0xC0)); hex(weight_string('abc', 5, 3, 0xC0)) 4144452020 select hex(weight_string('abc',25, 3, 0xC0)); hex(weight_string('abc',25, 3, 0xC0)) 41444520202020202020202020202020202020202020202020 select hex(weight_string('abc', 1, 4, 0xC0)); hex(weight_string('abc', 1, 4, 0xC0)) 41 select hex(weight_string('abc', 2, 4, 0xC0)); hex(weight_string('abc', 2, 4, 0xC0)) 4144 select hex(weight_string('abc', 3, 4, 0xC0)); hex(weight_string('abc', 3, 4, 0xC0)) 414445 select hex(weight_string('abc', 4, 4, 0xC0)); hex(weight_string('abc', 4, 4, 0xC0)) 41444520 select hex(weight_string('abc', 5, 4, 0xC0)); hex(weight_string('abc', 5, 4, 0xC0)) 4144452020 select hex(weight_string('abc',25, 4, 0xC0)); hex(weight_string('abc',25, 4, 0xC0)) 41444520202020202020202020202020202020202020202020 select @@collation_connection; @@collation_connection latin2_general_ci select hex(weight_string('a' LEVEL 1)); hex(weight_string('a' LEVEL 1)) 41 select hex(weight_string('A' LEVEL 1)); hex(weight_string('A' LEVEL 1)) 41 select hex(weight_string('abc' LEVEL 1)); hex(weight_string('abc' LEVEL 1)) 414445 select hex(weight_string('abc' as char(2) LEVEL 1)); hex(weight_string('abc' as char(2) LEVEL 1)) 4144 select hex(weight_string('abc' as char(3) LEVEL 1)); hex(weight_string('abc' as char(3) LEVEL 1)) 414445 select hex(weight_string('abc' as char(5) LEVEL 1)); hex(weight_string('abc' as char(5) LEVEL 1)) 4144452020 select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE)); hex(weight_string('abc' as char(5) LEVEL 1 REVERSE)) 2020454441 select hex(weight_string('abc' as char(5) LEVEL 1 DESC)); hex(weight_string('abc' as char(5) LEVEL 1 DESC)) BEBBBADFDF select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE)); hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE)) DFDFBABBBE # # Bug#32390 Character sets: casting utf32 to/from date doesn't work # CREATE TABLE t1 AS SELECT repeat('a',20) AS s1 LIMIT 0; SET time_zone=_latin1'+03:00'; SET timestamp=1216359724; INSERT INTO t1 VALUES (current_date); INSERT INTO t1 VALUES (current_time); INSERT INTO t1 VALUES (current_timestamp); SELECT s1, hex(s1) FROM t1; s1 hex(s1) 2008-07-18 323030382D30372D3138 08:42:04 30383A34323A3034 2008-07-18 08:42:04 323030382D30372D31382030383A34323A3034 DROP TABLE t1; SET timestamp=0; SET time_zone=default; # # MDEV-5298 Illegal mix of collations on timestamp # SELECT CHARSET('2013-11-15 00:41:28' - INTERVAL 7 DAY); CHARSET('2013-11-15 00:41:28' - INTERVAL 7 DAY) latin2 SELECT COERCIBILITY('2013-11-15 00:41:28' - INTERVAL 7 DAY); COERCIBILITY('2013-11-15 00:41:28' - INTERVAL 7 DAY) 4 SELECT CHARSET(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY); CHARSET(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY) binary SELECT COERCIBILITY(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY); COERCIBILITY(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY) 5 SELECT CHARSET(CONCAT('2013-11-15 00:41:28' - INTERVAL 7 DAY)); CHARSET(CONCAT('2013-11-15 00:41:28' - INTERVAL 7 DAY)) latin2 SELECT COERCIBILITY(CONCAT('2013-11-15 00:41:28' - INTERVAL 7 DAY)); COERCIBILITY(CONCAT('2013-11-15 00:41:28' - INTERVAL 7 DAY)) 4 SELECT CHARSET(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY)); CHARSET(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY)) latin2 SELECT COERCIBILITY(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY)); COERCIBILITY(CONCAT(TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY)) 4 SELECT CHARSET(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY)); CHARSET(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY)) latin2 SELECT COERCIBILITY(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY)); COERCIBILITY(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY)) 4 SELECT HEX(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY)); HEX(CONCAT('','2001-01-08 00:00:00' - INTERVAL 7 DAY)) 323030312D30312D30312030303A30303A3030 SELECT CHARSET(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)); CHARSET(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) latin2 SELECT COERCIBILITY(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)); COERCIBILITY(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) 4 SELECT HEX(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)); HEX(CONCAT('',TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) 323030312D30312D30312030303A30303A3030 CREATE TABLE t1 AS SELECT REPEAT('a', 64) AS a LIMIT 0; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(64) CHARACTER SET latin2 DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 INSERT INTO t1 VALUES (''); SELECT CHARSET(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1; CHARSET(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) latin2 SELECT COERCIBILITY(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1; COERCIBILITY(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) 2 SELECT HEX(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1; HEX(CONCAT(a,'2001-01-08 00:00:00' - INTERVAL 7 DAY)) 323030312D30312D30312030303A30303A3030 SELECT CHARSET(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1; CHARSET(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) latin2 SELECT COERCIBILITY(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1; COERCIBILITY(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) 2 SELECT HEX(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) FROM t1; HEX(CONCAT(a,TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY)) 323030312D30312D30312030303A30303A3030 DROP TABLE t1; CREATE TABLE t1 (t TIMESTAMP NOT NULL); INSERT INTO t1 VALUES ('2001-01-01 00:00:00'); SELECT * FROM t1 WHERE t < '2013-11-15 00:41:28' - INTERVAL 7 DAY; t 2001-01-01 00:00:00 SELECT * FROM t1 WHERE t = '2001-01-08 00:00:00' - INTERVAL 7 DAY; t 2001-01-01 00:00:00 SELECT * FROM t1 WHERE t < CONCAT('2013-11-15 00:41:28',LEFT(RAND(),0)) - INTERVAL 7 DAY; t 2001-01-01 00:00:00 SELECT * FROM t1 WHERE t = CONCAT('2001-01-08 00:00:00',LEFT(RAND(),0)) - INTERVAL 7 DAY; t 2001-01-01 00:00:00 SELECT * FROM t1 WHERE t < TIMESTAMP'2013-11-15 00:41:28' - INTERVAL 7 DAY; t 2001-01-01 00:00:00 SELECT * FROM t1 WHERE t = TIMESTAMP'2001-01-08 00:00:00' - INTERVAL 7 DAY; t 2001-01-01 00:00:00 DROP TABLE t1; set collation_connection=latin2_bin; select @@collation_connection; @@collation_connection latin2_bin CREATE TABLE t1 AS SELECT 'a' AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(1) CHARACTER SET latin2 COLLATE latin2_bin NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `ws` varbinary(1) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(WEIGHT_STRING(a)) FROM t1; HEX(WEIGHT_STRING(a)) 61 SELECT HEX(ws) FROM t2; HEX(ws) 61 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT REPEAT('a',5) AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(5) CHARACTER SET latin2 COLLATE latin2_bin DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 CREATE TABLE t2 AS SELECT WEIGHT_STRING(a) AS ws FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `ws` varbinary(5) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(WEIGHT_STRING(a)) FROM t1; HEX(WEIGHT_STRING(a)) 6161616161 SELECT HEX(ws) FROM t2; HEX(ws) 6161616161 DROP TABLE t2; CREATE TABLE t2 AS SELECT WEIGHT_STRING(a AS CHAR(3)) AS ws FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `ws` varbinary(3) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(WEIGHT_STRING(a AS CHAR(3))) FROM t1; HEX(WEIGHT_STRING(a AS CHAR(3))) 616161 SELECT HEX(ws) FROM t2; HEX(ws) 616161 DROP TABLE t2; CREATE TABLE t2 AS SELECT WEIGHT_STRING(a AS CHAR(10)) AS ws FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `ws` varbinary(10) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; HEX(WEIGHT_STRING(a AS CHAR(10))) 61616161612020202020 SELECT HEX(ws) FROM t2; HEX(ws) 61616161612020202020 DROP TABLE t2; DROP TABLE t1; select hex(weight_string('a')); hex(weight_string('a')) 61 select hex(weight_string('A')); hex(weight_string('A')) 41 select hex(weight_string('abc')); hex(weight_string('abc')) 616263 select hex(weight_string('abc' as char(2))); hex(weight_string('abc' as char(2))) 6162 select hex(weight_string('abc' as char(3))); hex(weight_string('abc' as char(3))) 616263 select hex(weight_string('abc' as char(5))); hex(weight_string('abc' as char(5))) 6162632020 select hex(weight_string('abc', 1, 2, 0xC0)); hex(weight_string('abc', 1, 2, 0xC0)) 61 select hex(weight_string('abc', 2, 2, 0xC0)); hex(weight_string('abc', 2, 2, 0xC0)) 6162 select hex(weight_string('abc', 3, 2, 0xC0)); hex(weight_string('abc', 3, 2, 0xC0)) 616220 select hex(weight_string('abc', 4, 2, 0xC0)); hex(weight_string('abc', 4, 2, 0xC0)) 61622020 select hex(weight_string('abc', 5, 2, 0xC0)); hex(weight_string('abc', 5, 2, 0xC0)) 6162202020 select hex(weight_string('abc',25, 2, 0xC0)); hex(weight_string('abc',25, 2, 0xC0)) 61622020202020202020202020202020202020202020202020 select hex(weight_string('abc', 1, 3, 0xC0)); hex(weight_string('abc', 1, 3, 0xC0)) 61 select hex(weight_string('abc', 2, 3, 0xC0)); hex(weight_string('abc', 2, 3, 0xC0)) 6162 select hex(weight_string('abc', 3, 3, 0xC0)); hex(weight_string('abc', 3, 3, 0xC0)) 616263 select hex(weight_string('abc', 4, 3, 0xC0)); hex(weight_string('abc', 4, 3, 0xC0)) 61626320 select hex(weight_string('abc', 5, 3, 0xC0)); hex(weight_string('abc', 5, 3, 0xC0)) 6162632020 select hex(weight_string('abc',25, 3, 0xC0)); hex(weight_string('abc',25, 3, 0xC0)) 61626320202020202020202020202020202020202020202020 select hex(weight_string('abc', 1, 4, 0xC0)); hex(weight_string('abc', 1, 4, 0xC0)) 61 select hex(weight_string('abc', 2, 4, 0xC0)); hex(weight_string('abc', 2, 4, 0xC0)) 6162 select hex(weight_string('abc', 3, 4, 0xC0)); hex(weight_string('abc', 3, 4, 0xC0)) 616263 select hex(weight_string('abc', 4, 4, 0xC0)); hex(weight_string('abc', 4, 4, 0xC0)) 61626320 select hex(weight_string('abc', 5, 4, 0xC0)); hex(weight_string('abc', 5, 4, 0xC0)) 6162632020 select hex(weight_string('abc',25, 4, 0xC0)); hex(weight_string('abc',25, 4, 0xC0)) 61626320202020202020202020202020202020202020202020 select @@collation_connection; @@collation_connection latin2_bin select hex(weight_string('a' LEVEL 1)); hex(weight_string('a' LEVEL 1)) 61 select hex(weight_string('A' LEVEL 1)); hex(weight_string('A' LEVEL 1)) 41 select hex(weight_string('abc' LEVEL 1)); hex(weight_string('abc' LEVEL 1)) 616263 select hex(weight_string('abc' as char(2) LEVEL 1)); hex(weight_string('abc' as char(2) LEVEL 1)) 6162 select hex(weight_string('abc' as char(3) LEVEL 1)); hex(weight_string('abc' as char(3) LEVEL 1)) 616263 select hex(weight_string('abc' as char(5) LEVEL 1)); hex(weight_string('abc' as char(5) LEVEL 1)) 6162632020 select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE)); hex(weight_string('abc' as char(5) LEVEL 1 REVERSE)) 2020636261 select hex(weight_string('abc' as char(5) LEVEL 1 DESC)); hex(weight_string('abc' as char(5) LEVEL 1 DESC)) 9E9D9CDFDF select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE)); hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE)) DFDF9C9D9E # # End of 5.6 tests #