create database latin1_german2_ci default character set latin1 collate latin1_german2_ci; use latin1_german2_ci; set names latin1; set @@collation_connection=latin1_german2_ci; select @@collation_connection; @@collation_connection latin1_german2_ci drop table if exists t1; create table t1 (a char (20) not null, b int not null auto_increment, index (a,b)); insert into t1 (a) values ('ä'),('ac'),('ae'),('ad'),('Äc'),('aeb'); insert into t1 (a) values ('üc'),('uc'),('ue'),('ud'),('Ü'),('ueb'),('uf'); insert into t1 (a) values ('ö'),('oc'),('Öa'),('oe'),('od'),('Öc'),('oeb'); insert into t1 (a) values ('s'),('ss'),('ß'),('ßb'),('ssa'),('ssc'),('ßa'); insert into t1 (a) values ('eä'),('uü'),('öo'),('ää'),('ääa'),('aeae'); insert into t1 (a) values ('q'),('a'),('u'),('o'),('é'),('É'),('a'); select a,b from t1 order by a,b; a b a 1 a 2 ac 1 ad 1 ä 1 ae 2 ää 1 aeae 2 ääa 1 aeb 1 Äc 1 é 1 É 2 eä 1 o 1 oc 1 od 1 ö 1 oe 2 Öa 1 oeb 1 Öc 1 öo 1 q 1 s 1 ss 1 ß 2 ssa 1 ßa 2 ßb 1 ssc 1 u 1 uc 1 ud 1 ue 1 Ü 2 ueb 1 üc 1 uf 1 uü 1 select a,b from t1 order by upper(a),b; a b a 1 a 2 ac 1 ad 1 ä 1 ae 2 ää 1 aeae 2 ääa 1 aeb 1 Äc 1 é 1 É 2 eä 1 o 1 oc 1 od 1 ö 1 oe 2 Öa 1 oeb 1 Öc 1 öo 1 q 1 s 1 ss 1 ß 2 ssa 1 ßa 2 ßb 1 ssc 1 u 1 uc 1 ud 1 ue 1 Ü 2 ueb 1 üc 1 uf 1 uü 1 select a from t1 order by a desc; a uü uf üc ueb Ü ue ud uc u ssc ßb ßa ssa ß ss s q öo Öc oeb Öa oe ö od oc o eä É é Äc aeb ääa aeae ää ae ä ad ac a a check table t1; Table Op Msg_type Msg_text latin1_german2_ci.t1 check status OK select * from t1 where a like "ö%"; a b ö 1 Öa 1 Öc 1 öo 1 select * from t1 where a like binary "%É%"; a b É 2 select * from t1 where a like "%Á%"; a b a 1 a 2 ac 1 ad 1 ae 2 aeae 2 ääa 1 aeb 1 Öa 1 ssa 1 ßa 2 select * from t1 where a like "%U%"; a b u 1 uc 1 ud 1 ue 1 ueb 1 uf 1 uü 1 select * from t1 where a like "%ss%"; a b ss 1 ssa 1 ssc 1 drop table t1; select strcmp('ä','ae'),strcmp('ae','ä'),strcmp('aeq','äq'),strcmp('äq','aeq'); strcmp('ä','ae') strcmp('ae','ä') strcmp('aeq','äq') strcmp('äq','aeq') 0 0 0 0 select strcmp('ss','ß'),strcmp('ß','ss'),strcmp('ßs','sss'),strcmp('ßq','ssq'); strcmp('ss','ß') strcmp('ß','ss') strcmp('ßs','sss') strcmp('ßq','ssq') 0 0 0 0 select strcmp('ä','af'),strcmp('a','ä'),strcmp('ää','aeq'),strcmp('ää','aeaeq'); strcmp('ä','af') strcmp('a','ä') strcmp('ää','aeq') strcmp('ää','aeaeq') -1 -1 -1 -1 select strcmp('ss','ßa'),strcmp('ß','ssa'),strcmp('sßa','sssb'),strcmp('s','ß'); strcmp('ss','ßa') strcmp('ß','ssa') strcmp('sßa','sssb') strcmp('s','ß') -1 -1 -1 -1 select strcmp('ö','oö'),strcmp('Ü','uü'),strcmp('ö','oeb'); strcmp('ö','oö') strcmp('Ü','uü') strcmp('ö','oeb') -1 -1 -1 select strcmp('af','ä'),strcmp('ä','a'),strcmp('aeq','ää'),strcmp('aeaeq','ää'); strcmp('af','ä') strcmp('ä','a') strcmp('aeq','ää') strcmp('aeaeq','ää') 1 1 1 1 select strcmp('ßa','ss'),strcmp('ssa','ß'),strcmp('sssb','sßa'),strcmp('ß','s'); strcmp('ßa','ss') strcmp('ssa','ß') strcmp('sssb','sßa') strcmp('ß','s') 1 1 1 1 select strcmp('u','öa'),strcmp('u','ö'); strcmp('u','öa') strcmp('u','ö') 1 1 select strcmp('sä', 'ßa'), strcmp('aä', 'äx'); strcmp('sä', 'ßa') strcmp('aä', 'äx') -1 -1 create table t1 (a varchar(10), key(a), fulltext (a)); insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test"); select * from t1 where a like "abc%"; a abc abcd select * from t1 where a like "test%"; a test select * from t1 where a like "te_t"; a test select * from t1 where match a against ("te*" in boolean mode)+0; a test drop table t1; create table t1 (word varchar(255) not null, word2 varchar(255) not null default '', index(word)); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `word` varchar(255) NOT NULL, `word2` varchar(255) NOT NULL DEFAULT '', KEY `word` (`word`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci insert into t1 (word) values ('ss'),(0xDF),(0xE4),('ae'); update t1 set word2=word; select word, word=binary 0xdf as t from t1 having t > 0; word t ß 1 select word, word=cast(0xdf AS CHAR) as t from t1 having t > 0; word t ss 1 ß 1 select * from t1 where word=binary 0xDF; word word2 ß ß select * from t1 where word=CAST(0xDF as CHAR); word word2 ss ss ß ß select * from t1 where word2=binary 0xDF; word word2 ß ß select * from t1 where word2=CAST(0xDF as CHAR); word word2 ss ss ß ß select * from t1 where word='ae'; word word2 ä ä ae ae select * from t1 where word= 0xe4 or word=CAST(0xe4 as CHAR); word word2 ä ä ae ae select * from t1 where word between binary 0xDF and binary 0xDF; word word2 ß ß select * from t1 where word between CAST(0xDF AS CHAR) and CAST(0xDF AS CHAR); word word2 ss ss ß ß select * from t1 where word like 'ae'; word word2 ae ae select * from t1 where word like 'AE'; word word2 ae ae select * from t1 where word like binary 0xDF; word word2 ß ß select * from t1 where word like CAST(0xDF as CHAR); word word2 ß ß drop table t1; CREATE TABLE t1 ( autor varchar(80) NOT NULL default '', PRIMARY KEY (autor) ); INSERT INTO t1 VALUES ('Powell, B.'),('Powell, Bud.'),('Powell, L. H.'),('Power, H.'), ('Poynter, M. A. L. Lane'),('Poynting, J. H. und J. J. Thomson.'),('Pozzi, S(amuel-Jean).'), ('Pozzi, Samuel-Jean.'),('Pozzo, A.'),('Pozzoli, Serge.'); SELECT * FROM t1 WHERE autor LIKE 'Poz%' ORDER BY autor; autor Pozzi, S(amuel-Jean). Pozzi, Samuel-Jean. Pozzo, A. Pozzoli, Serge. DROP TABLE t1; CREATE TABLE t1 ( s1 CHAR(5) CHARACTER SET latin1 COLLATE latin1_german2_ci ); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `s1` char(5) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci INSERT INTO t1 VALUES ('Ü'); INSERT INTO t1 VALUES ('ue'); SELECT DISTINCT s1 FROM t1; s1 Ü SELECT s1,COUNT(*) FROM t1 GROUP BY s1; s1 COUNT(*) Ü 2 SELECT COUNT(DISTINCT s1) FROM t1; COUNT(DISTINCT s1) 1 SELECT FIELD('ue',s1), FIELD('Ü',s1), s1='ue', s1='Ü' FROM t1; FIELD('ue',s1) FIELD('Ü',s1) s1='ue' s1='Ü' 1 1 1 1 1 1 1 1 DROP TABLE t1; create table t1 select repeat('a',4000) a; delete from t1; insert into t1 values ('a'), ('a '), ('a\t'); select collation(a),hex(a) from t1 order by a; collation(a) hex(a) latin1_german2_ci 6109 latin1_german2_ci 61 latin1_german2_ci 6120 drop table t1; # # MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP # SELECT @@collation_connection; @@collation_connection latin1_german2_ci CREATE TABLE t1 (i INT) ENGINE=MyISAM; INSERT INTO t1 VALUES (1),(2); SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP; i 1 1 SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP; i 1 1 DROP TABLE t1; # # MDEV-6170 Incorrect ordering with utf8_bin and utf8mb4_bin collations # SELECT @@collation_connection; @@collation_connection latin1_german2_ci CREATE TABLE t1 ENGINE=MEMORY AS SELECT REPEAT('a',5) AS a LIMIT 0; INSERT INTO t1 (a) VALUES ("a"); INSERT INTO t1 (a) VALUES ("b"); INSERT INTO t1 (a) VALUES ("c"); INSERT INTO t1 (a) VALUES ("d"); INSERT INTO t1 (a) VALUES ("e"); INSERT INTO t1 (a) VALUES ("f"); INSERT INTO t1 (a) VALUES ("g"); INSERT INTO t1 (a) VALUES ("h"); INSERT INTO t1 (a) VALUES ("i"); INSERT INTO t1 (a) VALUES ("j"); INSERT INTO t1 (a) VALUES ("k"); INSERT INTO t1 (a) VALUES ("l"); INSERT INTO t1 (a) VALUES ("m"); SELECT * FROM t1 ORDER BY LOWER(a); a a b c d e f g h i j k l m SELECT * FROM t1 ORDER BY LOWER(a) DESC; a m l k j i h g f e d c b a DROP TABLE t1; "BEGIN ctype_german.inc" drop table if exists t1; create table t1 as select repeat(' ', 64) as s1; select collation(s1) from t1; collation(s1) latin1_german2_ci delete from t1; INSERT INTO t1 VALUES ('ud'),('uf'); INSERT INTO t1 VALUES ('od'),('of'); INSERT INTO t1 VALUES ('e'); INSERT INTO t1 VALUES ('ad'),('af'); insert into t1 values ('a'),('ae'),(_latin1 0xE4); insert into t1 values ('o'),('oe'),(_latin1 0xF6); insert into t1 values ('s'),('ss'),(_latin1 0xDF); insert into t1 values ('u'),('ue'),(_latin1 0xFC); INSERT INTO t1 VALUES (_latin1 0xE6), (_latin1 0xC6); INSERT INTO t1 VALUES (_latin1 0x9C), (_latin1 0x8C); select s1, hex(s1) from t1 order by s1, binary s1; s1 hex(s1) a 61 ad 6164 ae 6165 ä E4 af 6166 e 65 o 6F od 6F64 oe 6F65 ö F6 of 6F66 s 73 ss 7373 ß DF u 75 ud 7564 ue 7565 ü FC uf 7566 Æ C6 æ E6 Œ 8C œ 9C select group_concat(s1 order by binary s1) from t1 group by s1; group_concat(s1 order by binary s1) a ad ae,ä af e o od oe,ö of s ss,ß u ud ue,ü uf Æ,æ Œ œ SELECT s1, hex(s1), hex(weight_string(s1)) FROM t1 ORDER BY s1, BINARY(s1); s1 hex(s1) hex(weight_string(s1)) a 61 41 ad 6164 4144 ae 6165 4145 ä E4 4145 af 6166 4146 e 65 45 o 6F 4F od 6F64 4F44 oe 6F65 4F45 ö F6 4F45 of 6F66 4F46 s 73 53 ss 7373 5353 ß DF 5353 u 75 55 ud 7564 5544 ue 7565 5545 ü FC 5545 uf 7566 5546 Æ C6 5C æ E6 5C Œ 8C 8C œ 9C 9C SELECT s1, hex(s1) FROM t1 WHERE s1='ae' ORDER BY s1, BINARY(s1); s1 hex(s1) ae 6165 ä E4 drop table t1; CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a, 1 AS b LIMIT 0; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(1) DEFAULT NULL, `b` int(1) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci INSERT INTO t1 VALUES ('s',0),(_latin1 0xDF,1); SELECT * FROM t1 ORDER BY a, b; a b s 0 ß 1 SELECT * FROM t1 ORDER BY a DESC, b; a b ß 1 s 0 SELECT * FROM t1 ORDER BY CONCAT(a), b; a b s 0 ß 1 SELECT * FROM t1 ORDER BY CONCAT(a) DESC, b; a b ß 1 s 0 DROP TABLE t1; "END ctype_german.inc" SET NAMES latin1; CREATE TABLE t1 ( col1 varchar(255) NOT NULL default '' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 collate latin1_german2_ci; INSERT INTO t1 VALUES ('ß'),('ss'),('ss'); ALTER TABLE t1 ADD KEY ifword(col1); SELECT * FROM t1 WHERE col1='ß' ORDER BY col1, BINARY col1; col1 ss ss ß DROP TABLE t1; create table t1 (s1 char(5) character set latin1 collate latin1_german2_ci); insert into t1 values (0xf6) /* this is o-umlaut */; select * from t1 where length(s1)=1 and s1='oe'; s1 ö drop table t1; End of 5.1 tests # # Start of 5.6 tests # # # WL#3664 WEIGHT_STRING # set @@collation_connection=latin1_german2_ci; select @@collation_connection; @@collation_connection latin1_german2_ci CREATE TABLE t1 AS SELECT 'a' AS a; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(1) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci 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(2) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci 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) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci 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(10) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci 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(6) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci 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(20) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci 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')) 414243 select hex(weight_string('abc' as char(2))); hex(weight_string('abc' as char(2))) 4142 select hex(weight_string('abc' as char(3))); hex(weight_string('abc' as char(3))) 414243 select hex(weight_string('abc' as char(5))); hex(weight_string('abc' as char(5))) 4142432020 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)) 4142 select hex(weight_string('abc', 3, 2, 0xC0)); hex(weight_string('abc', 3, 2, 0xC0)) 414220 select hex(weight_string('abc', 4, 2, 0xC0)); hex(weight_string('abc', 4, 2, 0xC0)) 41422020 select hex(weight_string('abc', 5, 2, 0xC0)); hex(weight_string('abc', 5, 2, 0xC0)) 4142202020 select hex(weight_string('abc',25, 2, 0xC0)); hex(weight_string('abc',25, 2, 0xC0)) 41422020202020202020202020202020202020202020202020 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)) 4142 select hex(weight_string('abc', 3, 3, 0xC0)); hex(weight_string('abc', 3, 3, 0xC0)) 414243 select hex(weight_string('abc', 4, 3, 0xC0)); hex(weight_string('abc', 4, 3, 0xC0)) 41424320 select hex(weight_string('abc', 5, 3, 0xC0)); hex(weight_string('abc', 5, 3, 0xC0)) 4142432020 select hex(weight_string('abc',25, 3, 0xC0)); hex(weight_string('abc',25, 3, 0xC0)) 41424320202020202020202020202020202020202020202020 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)) 4142 select hex(weight_string('abc', 3, 4, 0xC0)); hex(weight_string('abc', 3, 4, 0xC0)) 414243 select hex(weight_string('abc', 4, 4, 0xC0)); hex(weight_string('abc', 4, 4, 0xC0)) 41424320 select hex(weight_string('abc', 5, 4, 0xC0)); hex(weight_string('abc', 5, 4, 0xC0)) 4142432020 select hex(weight_string('abc',25, 4, 0xC0)); hex(weight_string('abc',25, 4, 0xC0)) 41424320202020202020202020202020202020202020202020 select @@collation_connection; @@collation_connection latin1_german2_ci select hex(weight_string(cast(_latin1 0x80 as char))); hex(weight_string(cast(_latin1 0x80 as char))) 80 select hex(weight_string(cast(_latin1 0x808080 as char))); hex(weight_string(cast(_latin1 0x808080 as char))) 808080 select hex(weight_string(cast(_latin1 0x808080 as char) as char(2))); hex(weight_string(cast(_latin1 0x808080 as char) as char(2))) 8080 select hex(weight_string(cast(_latin1 0x808080 as char) as char(3))); hex(weight_string(cast(_latin1 0x808080 as char) as char(3))) 808080 select hex(weight_string(cast(_latin1 0x808080 as char) as char(5))); hex(weight_string(cast(_latin1 0x808080 as char) as char(5))) 8080802020 select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0)) 80 select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0)) 8080 select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0)) 808020 select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0)) 80802020 select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0)) 8080202020 select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0)) 80802020202020202020202020202020202020202020202020 select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0)) 80 select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0)) 8080 select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0)) 808080 select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0)) 80808020 select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0)) 8080802020 select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0)) 80808020202020202020202020202020202020202020202020 select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0)) 80 select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0)) 8080 select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0)) 808080 select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0)) 80808020 select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0)) 8080802020 select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0)); hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0)) 80808020202020202020202020202020202020202020202020 select @@collation_connection; @@collation_connection latin1_german2_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)) 414243 select hex(weight_string('abc' as char(2) LEVEL 1)); hex(weight_string('abc' as char(2) LEVEL 1)) 4142 select hex(weight_string('abc' as char(3) LEVEL 1)); hex(weight_string('abc' as char(3) LEVEL 1)) 414243 select hex(weight_string('abc' as char(5) LEVEL 1)); hex(weight_string('abc' as char(5) LEVEL 1)) 4142432020 select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE)); hex(weight_string('abc' as char(5) LEVEL 1 REVERSE)) 2020434241 select hex(weight_string('abc' as char(5) LEVEL 1 DESC)); hex(weight_string('abc' as char(5) LEVEL 1 DESC)) BEBDBCDFDF select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE)); hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE)) DFDFBCBDBE select hex(weight_string('Ä')); hex(weight_string('Ä')) 4145 select hex(weight_string('ä')); hex(weight_string('ä')) 4145 select hex(weight_string('Ö')); hex(weight_string('Ö')) 4F45 select hex(weight_string('ö')); hex(weight_string('ö')) 4F45 select hex(weight_string('Ü')); hex(weight_string('Ü')) 5545 select hex(weight_string('ü')); hex(weight_string('ü')) 5545 select hex(weight_string('S')); hex(weight_string('S')) 53 select hex(weight_string('s')); hex(weight_string('s')) 53 select hex(weight_string('ß')); hex(weight_string('ß')) 5353 select hex(weight_string('ä' as char(1))); hex(weight_string('ä' as char(1))) 41 select hex(weight_string('ö' as char(1))); hex(weight_string('ö' as char(1))) 4F select hex(weight_string('ü' as char(1))); hex(weight_string('ü' as char(1))) 55 select hex(weight_string('ß' as char(1))); hex(weight_string('ß' as char(1))) 53 select hex(weight_string('xä' as char(2))); hex(weight_string('xä' as char(2))) 5841 select hex(weight_string('xö' as char(2))); hex(weight_string('xö' as char(2))) 584F select hex(weight_string('xü' as char(2))); hex(weight_string('xü' as char(2))) 5855 select hex(weight_string('xß' as char(2))); hex(weight_string('xß' as char(2))) 5853 # # End of 5.6 tests # drop database latin1_german2_ci; use test;