Current Path : /home/usr.opt/mysql57/mysql-test/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/r/func_str.result |
drop table if exists t1,t2; set names latin1; select 'hello',"'hello'",'""hello""','''h''e''l''l''o''',"hel""lo",'hel\'lo'; hello 'hello' ""hello"" 'h'e'l'l'o' hel"lo hel'lo hello 'hello' ""hello"" 'h'e'l'l'o' hel"lo hel'lo select 'hello' 'monty'; hello hellomonty select length('\n\t\r\b\0\_\%\\'); length('\n\t\r\b\0\_\%\\') 10 select bit_length('\n\t\r\b\0\_\%\\'); bit_length('\n\t\r\b\0\_\%\\') 80 select char_length('\n\t\r\b\0\_\%\\'); char_length('\n\t\r\b\0\_\%\\') 10 select length(_latin1'\n\t\n\b\0\\_\\%\\'); length(_latin1'\n\t\n\b\0\\_\\%\\') 10 select concat('monty',' was here ','again'),length('hello'),char(ascii('h')),ord('h'); concat('monty',' was here ','again') length('hello') char(ascii('h')) ord('h') monty was here again 5 h 104 select hex(char(256)); hex(char(256)) 0100 select locate('he','hello'),locate('he','hello',2),locate('lo','hello',2) ; locate('he','hello') locate('he','hello',2) locate('lo','hello',2) 1 0 4 select instr('hello','HE'), instr('hello',binary 'HE'), instr(binary 'hello','HE'); instr('hello','HE') instr('hello',binary 'HE') instr(binary 'hello','HE') 1 0 0 select position(binary 'll' in 'hello'),position('a' in binary 'hello'); position(binary 'll' in 'hello') position('a' in binary 'hello') 3 0 select left('hello',null), right('hello',null); left('hello',null) right('hello',null) NULL NULL select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5) ; left('hello',2) right('hello',2) substring('hello',2,2) mid('hello',1,5) he lo el hello select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) ; concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) happy select substring_index('www.tcx.se','.',-2),substring_index('www.tcx.se','.',1); substring_index('www.tcx.se','.',-2) substring_index('www.tcx.se','.',1) tcx.se www select substring_index('www.tcx.se','tcx',1),substring_index('www.tcx.se','tcx',-1); substring_index('www.tcx.se','tcx',1) substring_index('www.tcx.se','tcx',-1) www. .se select substring_index('.tcx.se','.',-2),substring_index('.tcx.se','.tcx',-1); substring_index('.tcx.se','.',-2) substring_index('.tcx.se','.tcx',-1) tcx.se .se select substring_index('aaaaaaaaa1','a',1); substring_index('aaaaaaaaa1','a',1) select substring_index('aaaaaaaaa1','aa',1); substring_index('aaaaaaaaa1','aa',1) select substring_index('aaaaaaaaa1','aa',2); substring_index('aaaaaaaaa1','aa',2) aa select substring_index('aaaaaaaaa1','aa',3); substring_index('aaaaaaaaa1','aa',3) aaaa select substring_index('aaaaaaaaa1','aa',4); substring_index('aaaaaaaaa1','aa',4) aaaaaa select substring_index('aaaaaaaaa1','aa',5); substring_index('aaaaaaaaa1','aa',5) aaaaaaaaa1 select substring_index('aaaaaaaaa1','aaa',1); substring_index('aaaaaaaaa1','aaa',1) select substring_index('aaaaaaaaa1','aaa',2); substring_index('aaaaaaaaa1','aaa',2) aaa select substring_index('aaaaaaaaa1','aaa',3); substring_index('aaaaaaaaa1','aaa',3) aaaaaa select substring_index('aaaaaaaaa1','aaa',4); substring_index('aaaaaaaaa1','aaa',4) aaaaaaaaa1 select substring_index('aaaaaaaaa1','aaaa',1); substring_index('aaaaaaaaa1','aaaa',1) select substring_index('aaaaaaaaa1','aaaa',2); substring_index('aaaaaaaaa1','aaaa',2) aaaa select substring_index('aaaaaaaaa1','1',1); substring_index('aaaaaaaaa1','1',1) aaaaaaaaa select substring_index('aaaaaaaaa1','a',-1); substring_index('aaaaaaaaa1','a',-1) 1 select substring_index('aaaaaaaaa1','aa',-1); substring_index('aaaaaaaaa1','aa',-1) 1 select substring_index('aaaaaaaaa1','aa',-2); substring_index('aaaaaaaaa1','aa',-2) aa1 select substring_index('aaaaaaaaa1','aa',-3); substring_index('aaaaaaaaa1','aa',-3) aaaa1 select substring_index('aaaaaaaaa1','aa',-4); substring_index('aaaaaaaaa1','aa',-4) aaaaaa1 select substring_index('aaaaaaaaa1','aa',-5); substring_index('aaaaaaaaa1','aa',-5) aaaaaaaaa1 select substring_index('aaaaaaaaa1','aaa',-1); substring_index('aaaaaaaaa1','aaa',-1) 1 select substring_index('aaaaaaaaa1','aaa',-2); substring_index('aaaaaaaaa1','aaa',-2) aaa1 select substring_index('aaaaaaaaa1','aaa',-3); substring_index('aaaaaaaaa1','aaa',-3) aaaaaa1 select substring_index('aaaaaaaaa1','aaa',-4); substring_index('aaaaaaaaa1','aaa',-4) aaaaaaaaa1 select substring_index('the king of thethe hill','the',-2); substring_index('the king of thethe hill','the',-2) the hill select substring_index('the king of the the hill','the',-2); substring_index('the king of the the hill','the',-2) the hill select substring_index('the king of the the hill','the',-2); substring_index('the king of the the hill','the',-2) the hill select substring_index('the king of the the hill',' the ',-1); substring_index('the king of the the hill',' the ',-1) hill select substring_index('the king of the the hill',' the ',-2); substring_index('the king of the the hill',' the ',-2) the hill select substring_index('the king of the the hill',' ',-1); substring_index('the king of the the hill',' ',-1) hill select substring_index('the king of the the hill',' ',-2); substring_index('the king of the the hill',' ',-2) the hill select substring_index('the king of the the hill',' ',-3); substring_index('the king of the the hill',' ',-3) the hill select substring_index('the king of the the hill',' ',-4); substring_index('the king of the the hill',' ',-4) the the hill select substring_index('the king of the the hill',' ',-5); substring_index('the king of the the hill',' ',-5) of the the hill select substring_index('the king of the.the hill','the',-2); substring_index('the king of the.the hill','the',-2) .the hill select substring_index('the king of thethethe.the hill','the',-3); substring_index('the king of thethethe.the hill','the',-3) the.the hill select substring_index('the king of thethethe.the hill','the',-1); substring_index('the king of thethethe.the hill','the',-1) hill select substring_index('the king of the the hill','the',1); substring_index('the king of the the hill','the',1) select substring_index('the king of the the hill','the',2); substring_index('the king of the the hill','the',2) the king of select substring_index('the king of the the hill','the',3); substring_index('the king of the the hill','the',3) the king of the select concat(':',ltrim(' left '),':',rtrim(' right '),':'); concat(':',ltrim(' left '),':',rtrim(' right '),':') :left : right: select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':'); concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':') :left : right: select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':'); concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':') :left: right: select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':'); concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':') :m:y:s: select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':'); concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':') :my:sql: select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':'); concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':') :my:sql: select TRIM("foo" FROM "foo"), TRIM("foo" FROM "foook"), TRIM("foo" FROM "okfoo"); TRIM("foo" FROM "foo") TRIM("foo" FROM "foook") TRIM("foo" FROM "okfoo") ok ok select concat_ws(', ','monty','was here','again'); concat_ws(', ','monty','was here','again') monty, was here, again select concat_ws(NULL,'a'),concat_ws(',',NULL,''); concat_ws(NULL,'a') concat_ws(',',NULL,'') NULL select concat_ws(',','',NULL,'a'); concat_ws(',','',NULL,'a') ,a SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"'); CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"') "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc";"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es'); insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es') this is test select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c'); replace('aaaa','a','b') replace('aaaa','aa','b') replace('aaaa','a','bb') replace('aaaa','','b') replace('bbbb','a','c') bbbb bb bbbbbbbb aaaa bbbb select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') ; replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') this is a REAL test select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb'); soundex('') soundex('he') soundex('hello all folks') soundex('#3556 in bugdb') H000 H4142 I51231 select 'mood' sounds like 'mud'; 'mood' sounds like 'mud' 1 select 'Glazgo' sounds like 'Liverpool'; 'Glazgo' sounds like 'Liverpool' 0 select null sounds like 'null'; null sounds like 'null' NULL select 'null' sounds like null; 'null' sounds like null NULL select null sounds like null; null sounds like null NULL select md5('hello'); md5('hello') 5d41402abc4b2a76b9719d911017c592 select crc32("123"); crc32("123") 2286445522 select sha('abc'); sha('abc') a9993e364706816aba3e25717850c26c9cd0d89d select sha1('abc'); sha1('abc') a9993e364706816aba3e25717850c26c9cd0d89d select aes_decrypt(aes_encrypt('abc','1'),'1'); aes_decrypt(aes_encrypt('abc','1'),'1') abc select aes_decrypt(aes_encrypt('abc','1'),1); aes_decrypt(aes_encrypt('abc','1'),1) abc select aes_encrypt(NULL,"a"); aes_encrypt(NULL,"a") NULL select aes_encrypt("a",NULL); aes_encrypt("a",NULL) NULL select aes_decrypt(NULL,"a"); aes_decrypt(NULL,"a") NULL select aes_decrypt("a",NULL); aes_decrypt("a",NULL) NULL select aes_decrypt("a","a"); aes_decrypt("a","a") NULL select aes_decrypt(aes_encrypt("","a"),"a"); aes_decrypt(aes_encrypt("","a"),"a") select repeat('monty',5),concat('*',space(5),'*'); repeat('monty',5) concat('*',space(5),'*') montymontymontymontymonty * * select reverse('abc'),reverse('abcd'); reverse('abc') reverse('abcd') cba dcba select rpad('a',4,'1'),rpad('a',4,'12'),rpad('abcd',3,'12'), rpad(11, 10 , 22), rpad("ab", 10, 22); rpad('a',4,'1') rpad('a',4,'12') rpad('abcd',3,'12') rpad(11, 10 , 22) rpad("ab", 10, 22) a111 a121 abc 1122222222 ab22222222 select lpad('a',4,'1'),lpad('a',4,'12'),lpad('abcd',3,'12'), lpad(11, 10 , 22); lpad('a',4,'1') lpad('a',4,'12') lpad('abcd',3,'12') lpad(11, 10 , 22) 111a 121a abc 2222222211 select rpad(741653838,17,'0'),lpad(741653838,17,'0'); rpad(741653838,17,'0') lpad(741653838,17,'0') 74165383800000000 00000000741653838 select rpad('abcd',7,'ab'),lpad('abcd',7,'ab'); rpad('abcd',7,'ab') lpad('abcd',7,'ab') abcdaba abaabcd select rpad('abcd',1,'ab'),lpad('abcd',1,'ab'); rpad('abcd',1,'ab') lpad('abcd',1,'ab') a a select rpad('STRING', 20, CONCAT('p','a','d') ); rpad('STRING', 20, CONCAT('p','a','d') ) STRINGpadpadpadpadpa select lpad('STRING', 20, CONCAT('p','a','d') ); lpad('STRING', 20, CONCAT('p','a','d') ) padpadpadpadpaSTRING select LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD'),GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD'); LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD') GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD') NULL NULL select least(1,2,3) | greatest(16,32,8), least(5,4)*1,greatest(-1.0,1.0)*1,least(3,2,1)*1.0,greatest(1,1.1,1.0),least("10",9),greatest("A","B","0"); least(1,2,3) | greatest(16,32,8) least(5,4)*1 greatest(-1.0,1.0)*1 least(3,2,1)*1.0 greatest(1,1.1,1.0) least("10",9) greatest("A","B","0") 33 4 1.0 1.0 1.1 9 B select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000); decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000) 1 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select decode(encode("abcdef","monty"),"monty")="abcdef"; decode(encode("abcdef","monty"),"monty")="abcdef" 1 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select quote('\'\"\\test'); quote('\'\"\\test') '\'"\\test' select quote(concat('abc\'', '\\cba')); quote(concat('abc\'', '\\cba')) 'abc\'\\cba' select quote(1/0), quote('\0\Z'); quote(1/0) quote('\0\Z') NULL '\0\Z' Warnings: Warning 1365 Division by 0 select length(quote(concat(char(0),"test"))); length(quote(concat(char(0),"test"))) 8 select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235)))); hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235)))) 27E0E3E6E7E8EAEB27 select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL); unhex(hex("foobar")) hex(unhex("1234567890ABCDEF")) unhex("345678") unhex(NULL) foobar 1234567890ABCDEF 4Vx NULL select hex(unhex("1")), hex(unhex("12")), hex(unhex("123")), hex(unhex("1234")), hex(unhex("12345")), hex(unhex("123456")); hex(unhex("1")) hex(unhex("12")) hex(unhex("123")) hex(unhex("1234")) hex(unhex("12345")) hex(unhex("123456")) 01 12 0123 1234 012345 123456 select length(unhex(md5("abrakadabra"))); length(unhex(md5("abrakadabra"))) 16 select concat('a', quote(NULL)); concat('a', quote(NULL)) aNULL select reverse(""); reverse("") select insert("aa",100,1,"b"),insert("aa",1,3,"b"),left("aa",-1),substring("a",1,2); insert("aa",100,1,"b") insert("aa",1,3,"b") left("aa",-1) substring("a",1,2) aa b a select elt(2,1),field(NULL,"a","b","c"),reverse(""); elt(2,1) field(NULL,"a","b","c") reverse("") NULL 0 select locate("a","b",2),locate("","a",1); locate("a","b",2) locate("","a",1) 0 1 select ltrim("a"),rtrim("a"),trim(BOTH "" from "a"),trim(BOTH " " from "a"); ltrim("a") rtrim("a") trim(BOTH "" from "a") trim(BOTH " " from "a") a a a a select concat("1","2")|0,concat("1",".5")+0.0; concat("1","2")|0 concat("1",".5")+0.0 12 1.5 select substring_index("www.tcx.se","",3); substring_index("www.tcx.se","",3) select length(repeat("a",100000000)),length(repeat("a",1000*64)); length(repeat("a",100000000)) length(repeat("a",1000*64)) NULL 64000 Warnings: Warning 1301 Result of repeat() was larger than max_allowed_packet (4194304) - truncated select position("0" in "baaa" in (1)),position("0" in "1" in (1,2,3)),position("sql" in ("mysql")); position("0" in "baaa" in (1)) position("0" in "1" in (1,2,3)) position("sql" in ("mysql")) 1 0 3 Warnings: Warning 1292 Truncated incorrect DOUBLE value: 'baaa' select position(("1" in (1,2,3)) in "01"); position(("1" in (1,2,3)) in "01") 2 select length(repeat("a",65500)),length(concat(repeat("a",32000),repeat("a",32000))),length(replace("aaaaa","a",concat(repeat("a",10000)))),length(insert(repeat("a",40000),1,30000,repeat("b",50000))); length(repeat("a",65500)) length(concat(repeat("a",32000),repeat("a",32000))) length(replace("aaaaa","a",concat(repeat("a",10000)))) length(insert(repeat("a",40000),1,30000,repeat("b",50000))) 65500 64000 50000 60000 select length(repeat("a",1000000)),length(concat(repeat("a",32000),repeat("a",32000),repeat("a",32000))),length(replace("aaaaa","a",concat(repeat("a",32000)))),length(insert(repeat("a",48000),1,1000,repeat("a",48000))); length(repeat("a",1000000)) length(concat(repeat("a",32000),repeat("a",32000),repeat("a",32000))) length(replace("aaaaa","a",concat(repeat("a",32000)))) length(insert(repeat("a",48000),1,1000,repeat("a",48000))) 1000000 96000 160000 95000 create table t1 ( domain char(50) ); insert into t1 VALUES ("hello.de" ), ("test.de" ); select domain from t1 where concat('@', trim(leading '.' from concat('.', domain))) = '@hello.de'; domain hello.de select domain from t1 where concat('@', trim(leading '.' from concat('.', domain))) = '@test.de'; domain test.de drop table t1; CREATE TABLE t1 ( id int(10) unsigned NOT NULL, title varchar(255) default NULL, prio int(10) unsigned default NULL, category int(10) unsigned default NULL, program int(10) unsigned default NULL, bugdesc text, created datetime default NULL, modified timestamp NOT NULL, bugstatus int(10) unsigned default NULL, submitter int(10) unsigned default NULL ) ENGINE=MyISAM; INSERT INTO t1 VALUES (1,'Link',1,1,1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','2001-02-28 08:40:16',20010228084016,0,4); SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') FROM t1; CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') "Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4" SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') FROM t1; CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') "Link";"1";"1";"1";"0";"4" SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) FROM t1; CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4 SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') from t1 group by bugdesc; bugdesc REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa drop table t1; CREATE TABLE t1 (id int(11) NOT NULL auto_increment, tmp text NOT NULL, KEY id (id)) ENGINE=MyISAM; INSERT INTO t1 VALUES (1, 'a545f661efdd1fb66fdee3aab79945bf'); SELECT 1 FROM t1 WHERE tmp=AES_DECRYPT(tmp,"password"); 1 DROP TABLE t1; CREATE TABLE t1 ( wid int(10) unsigned NOT NULL auto_increment, data_podp date default NULL, status_wnio enum('nowy','podp','real','arch') NOT NULL default 'nowy', PRIMARY KEY(wid) ); INSERT INTO t1 VALUES (8,NULL,'real'); INSERT INTO t1 VALUES (9,NULL,'nowy'); SELECT elt(status_wnio,data_podp) FROM t1 GROUP BY wid; elt(status_wnio,data_podp) NULL NULL DROP TABLE t1; CREATE TABLE t1 (title text) ENGINE=MyISAM; INSERT INTO t1 VALUES ('Congress reconvenes in September to debate welfare and adult education'); INSERT INTO t1 VALUES ('House passes the CAREERS bill'); SELECT CONCAT("</a>",RPAD("",(55 - LENGTH(title)),".")) from t1; CONCAT("</a>",RPAD("",(55 - LENGTH(title)),".")) NULL </a>.......................... DROP TABLE t1; CREATE TABLE t1 (i int, j int); INSERT INTO t1 VALUES (1,1),(2,2); SELECT DISTINCT i, ELT(j, '345', '34') FROM t1; i ELT(j, '345', '34') 1 345 2 34 DROP TABLE t1; create table t1(a char(4)); insert into t1 values ('one'),(NULL),('two'),('four'); select a, quote(a), isnull(quote(a)), quote(a) is null, ifnull(quote(a), 'n') from t1; a quote(a) isnull(quote(a)) quote(a) is null ifnull(quote(a), 'n') one 'one' 0 0 'one' NULL NULL 0 0 NULL two 'two' 0 0 'two' four 'four' 0 0 'four' drop table t1; select trim(trailing 'foo' from 'foo'); trim(trailing 'foo' from 'foo') select trim(leading 'foo' from 'foo'); trim(leading 'foo' from 'foo') select quote(ltrim(concat(' ', 'a'))); quote(ltrim(concat(' ', 'a'))) 'a' select quote(trim(concat(' ', 'a'))); quote(trim(concat(' ', 'a'))) 'a' CREATE TABLE t1 SELECT 1 UNION SELECT 2 UNION SELECT 3; SELECT QUOTE('A') FROM t1; QUOTE('A') 'A' 'A' 'A' DROP TABLE t1; select 1=_latin1'1'; 1=_latin1'1' 1 select _latin1'1'=1; _latin1'1'=1 1 select _latin2'1'=1; _latin2'1'=1 1 select 1=_latin2'1'; 1=_latin2'1' 1 select _latin1'1'=_latin2'1'; ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation '=' select row('a','b','c') = row('a','b','c'); row('a','b','c') = row('a','b','c') 1 select row('A','b','c') = row('a','b','c'); row('A','b','c') = row('a','b','c') 1 select row('A' COLLATE latin1_bin,'b','c') = row('a','b','c'); row('A' COLLATE latin1_bin,'b','c') = row('a','b','c') 0 select row('A','b','c') = row('a' COLLATE latin1_bin,'b','c'); row('A','b','c') = row('a' COLLATE latin1_bin,'b','c') 0 select row('A' COLLATE latin1_general_ci,'b','c') = row('a' COLLATE latin1_bin,'b','c'); ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation '=' select concat(_latin1'a',_latin2'a'); ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'concat' select concat(_latin1'a',_latin2'a',_latin5'a'); ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin5_turkish_ci,COERCIBLE) for operation 'concat' select concat(_latin1'a',_latin2'a',_latin5'a',_latin7'a'); ERROR HY000: Illegal mix of collations for operation 'concat' select concat_ws(_latin1'a',_latin2'a'); ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'concat_ws' select FIELD('b','A','B'); FIELD('b','A','B') 2 select FIELD('B','A','B'); FIELD('B','A','B') 2 select FIELD('b' COLLATE latin1_bin,'A','B'); FIELD('b' COLLATE latin1_bin,'A','B') 0 select FIELD('b','A' COLLATE latin1_bin,'B'); FIELD('b','A' COLLATE latin1_bin,'B') 0 select FIELD(_latin2'b','A','B'); ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation 'field' select FIELD('b',_latin2'A','B'); ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation 'field' select FIELD('1',_latin2'3','2',1); FIELD('1',_latin2'3','2',1) 3 select POSITION(_latin1'B' IN _latin1'abcd'); POSITION(_latin1'B' IN _latin1'abcd') 2 select POSITION(_latin1'B' IN _latin1'abcd' COLLATE latin1_bin); POSITION(_latin1'B' IN _latin1'abcd' COLLATE latin1_bin) 0 select POSITION(_latin1'B' COLLATE latin1_bin IN _latin1'abcd'); POSITION(_latin1'B' COLLATE latin1_bin IN _latin1'abcd') 0 select POSITION(_latin1'B' COLLATE latin1_general_ci IN _latin1'abcd' COLLATE latin1_bin); ERROR HY000: Illegal mix of collations (latin1_bin,EXPLICIT) and (latin1_general_ci,EXPLICIT) for operation 'locate' select POSITION(_latin1'B' IN _latin2'abcd'); ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE) and (latin1_swedish_ci,COERCIBLE) for operation 'locate' select FIND_IN_SET(_latin1'B',_latin1'a,b,c,d'); FIND_IN_SET(_latin1'B',_latin1'a,b,c,d') 2 select FIND_IN_SET(_latin1'B' COLLATE latin1_general_ci,_latin1'a,b,c,d' COLLATE latin1_bin); ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'find_in_set' select FIND_IN_SET(_latin1'B',_latin2'a,b,c,d'); ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'find_in_set' select SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin1'd',2); SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin1'd',2) abcdabc select SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin2'd',2); ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'substring_index' select SUBSTRING_INDEX(_latin1'abcdabcdabcd' COLLATE latin1_general_ci,_latin1'd' COLLATE latin1_bin,2); ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'substring_index' select _latin1'B' between _latin1'a' and _latin1'c'; _latin1'B' between _latin1'a' and _latin1'c' 1 select _latin1'B' collate latin1_bin between _latin1'a' and _latin1'c'; _latin1'B' collate latin1_bin between _latin1'a' and _latin1'c' 0 select _latin1'B' between _latin1'a' collate latin1_bin and _latin1'c'; _latin1'B' between _latin1'a' collate latin1_bin and _latin1'c' 0 select _latin1'B' between _latin1'a' and _latin1'c' collate latin1_bin; _latin1'B' between _latin1'a' and _latin1'c' collate latin1_bin 0 select _latin2'B' between _latin1'a' and _latin1'b'; ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation 'between' select _latin1'B' between _latin2'a' and _latin1'b'; ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation 'between' select _latin1'B' between _latin1'a' and _latin2'b'; ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE) for operation 'between' select _latin1'B' collate latin1_general_ci between _latin1'a' collate latin1_bin and _latin1'b'; ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_bin,EXPLICIT), (latin1_swedish_ci,COERCIBLE) for operation 'between' select _latin1'B' in (_latin1'a',_latin1'b'); _latin1'B' in (_latin1'a',_latin1'b') 1 select _latin1'B' collate latin1_bin in (_latin1'a',_latin1'b'); _latin1'B' collate latin1_bin in (_latin1'a',_latin1'b') 0 select _latin1'B' in (_latin1'a' collate latin1_bin,_latin1'b'); _latin1'B' in (_latin1'a' collate latin1_bin,_latin1'b') 0 select _latin1'B' in (_latin1'a',_latin1'b' collate latin1_bin); _latin1'B' in (_latin1'a',_latin1'b' collate latin1_bin) 0 select _latin2'B' in (_latin1'a',_latin1'b'); ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation ' IN ' select _latin1'B' in (_latin2'a',_latin1'b'); ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation ' IN ' select _latin1'B' in (_latin1'a',_latin2'b'); ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE) for operation ' IN ' select _latin1'B' COLLATE latin1_general_ci in (_latin1'a' COLLATE latin1_bin,_latin1'b'); ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_bin,EXPLICIT), (latin1_swedish_ci,COERCIBLE) for operation ' IN ' select _latin1'B' COLLATE latin1_general_ci in (_latin1'a',_latin1'b' COLLATE latin1_bin); ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_swedish_ci,COERCIBLE), (latin1_bin,EXPLICIT) for operation ' IN ' select collation(bin(130)), coercibility(bin(130)); collation(bin(130)) coercibility(bin(130)) latin1_swedish_ci 4 select collation(oct(130)), coercibility(oct(130)); collation(oct(130)) coercibility(oct(130)) latin1_swedish_ci 4 select collation(conv(130,16,10)), coercibility(conv(130,16,10)); collation(conv(130,16,10)) coercibility(conv(130,16,10)) latin1_swedish_ci 4 select collation(hex(130)), coercibility(hex(130)); collation(hex(130)) coercibility(hex(130)) latin1_swedish_ci 4 select collation(char(130)), coercibility(hex(130)); collation(char(130)) coercibility(hex(130)) binary 4 select collation(format(130,10)), coercibility(format(130,10)); collation(format(130,10)) coercibility(format(130,10)) latin1_swedish_ci 4 select collation(lcase(_latin2'a')), coercibility(lcase(_latin2'a')); collation(lcase(_latin2'a')) coercibility(lcase(_latin2'a')) latin2_general_ci 4 select collation(ucase(_latin2'a')), coercibility(ucase(_latin2'a')); collation(ucase(_latin2'a')) coercibility(ucase(_latin2'a')) latin2_general_ci 4 select collation(left(_latin2'a',1)), coercibility(left(_latin2'a',1)); collation(left(_latin2'a',1)) coercibility(left(_latin2'a',1)) latin2_general_ci 4 select collation(right(_latin2'a',1)), coercibility(right(_latin2'a',1)); collation(right(_latin2'a',1)) coercibility(right(_latin2'a',1)) latin2_general_ci 4 select collation(substring(_latin2'a',1,1)), coercibility(substring(_latin2'a',1,1)); collation(substring(_latin2'a',1,1)) coercibility(substring(_latin2'a',1,1)) latin2_general_ci 4 select collation(concat(_latin2'a',_latin2'b')), coercibility(concat(_latin2'a',_latin2'b')); collation(concat(_latin2'a',_latin2'b')) coercibility(concat(_latin2'a',_latin2'b')) latin2_general_ci 4 select collation(lpad(_latin2'a',4,_latin2'b')), coercibility(lpad(_latin2'a',4,_latin2'b')); collation(lpad(_latin2'a',4,_latin2'b')) coercibility(lpad(_latin2'a',4,_latin2'b')) latin2_general_ci 4 select collation(rpad(_latin2'a',4,_latin2'b')), coercibility(rpad(_latin2'a',4,_latin2'b')); collation(rpad(_latin2'a',4,_latin2'b')) coercibility(rpad(_latin2'a',4,_latin2'b')) latin2_general_ci 4 select collation(concat_ws(_latin2'a',_latin2'b')), coercibility(concat_ws(_latin2'a',_latin2'b')); collation(concat_ws(_latin2'a',_latin2'b')) coercibility(concat_ws(_latin2'a',_latin2'b')) latin2_general_ci 4 select collation(make_set(255,_latin2'a',_latin2'b',_latin2'c')), coercibility(make_set(255,_latin2'a',_latin2'b',_latin2'c')); collation(make_set(255,_latin2'a',_latin2'b',_latin2'c')) coercibility(make_set(255,_latin2'a',_latin2'b',_latin2'c')) latin2_general_ci 4 select collation(export_set(255,_latin2'y',_latin2'n',_latin2' ')), coercibility(export_set(255,_latin2'y',_latin2'n',_latin2' ')); collation(export_set(255,_latin2'y',_latin2'n',_latin2' ')) coercibility(export_set(255,_latin2'y',_latin2'n',_latin2' ')) latin2_general_ci 4 select collation(trim(_latin2' a ')), coercibility(trim(_latin2' a ')); collation(trim(_latin2' a ')) coercibility(trim(_latin2' a ')) latin2_general_ci 4 select collation(ltrim(_latin2' a ')), coercibility(ltrim(_latin2' a ')); collation(ltrim(_latin2' a ')) coercibility(ltrim(_latin2' a ')) latin2_general_ci 4 select collation(rtrim(_latin2' a ')), coercibility(rtrim(_latin2' a ')); collation(rtrim(_latin2' a ')) coercibility(rtrim(_latin2' a ')) latin2_general_ci 4 select collation(trim(LEADING _latin2' ' FROM _latin2'a')), coercibility(trim(LEADING _latin2'a' FROM _latin2'a')); collation(trim(LEADING _latin2' ' FROM _latin2'a')) coercibility(trim(LEADING _latin2'a' FROM _latin2'a')) latin2_general_ci 4 select collation(trim(TRAILING _latin2' ' FROM _latin2'a')), coercibility(trim(TRAILING _latin2'a' FROM _latin2'a')); collation(trim(TRAILING _latin2' ' FROM _latin2'a')) coercibility(trim(TRAILING _latin2'a' FROM _latin2'a')) latin2_general_ci 4 select collation(trim(BOTH _latin2' ' FROM _latin2'a')), coercibility(trim(BOTH _latin2'a' FROM _latin2'a')); collation(trim(BOTH _latin2' ' FROM _latin2'a')) coercibility(trim(BOTH _latin2'a' FROM _latin2'a')) latin2_general_ci 4 select collation(repeat(_latin2'a',10)), coercibility(repeat(_latin2'a',10)); collation(repeat(_latin2'a',10)) coercibility(repeat(_latin2'a',10)) latin2_general_ci 4 select collation(reverse(_latin2'ab')), coercibility(reverse(_latin2'ab')); collation(reverse(_latin2'ab')) coercibility(reverse(_latin2'ab')) latin2_general_ci 4 select collation(quote(_latin2'ab')), coercibility(quote(_latin2'ab')); collation(quote(_latin2'ab')) coercibility(quote(_latin2'ab')) latin2_general_ci 4 select collation(soundex(_latin2'ab')), coercibility(soundex(_latin2'ab')); collation(soundex(_latin2'ab')) coercibility(soundex(_latin2'ab')) latin2_general_ci 4 select collation(substring(_latin2'ab',1)), coercibility(substring(_latin2'ab',1)); collation(substring(_latin2'ab',1)) coercibility(substring(_latin2'ab',1)) latin2_general_ci 4 select collation(insert(_latin2'abcd',2,3,_latin2'ef')), coercibility(insert(_latin2'abcd',2,3,_latin2'ef')); collation(insert(_latin2'abcd',2,3,_latin2'ef')) coercibility(insert(_latin2'abcd',2,3,_latin2'ef')) latin2_general_ci 4 select collation(replace(_latin2'abcd',_latin2'b',_latin2'B')), coercibility(replace(_latin2'abcd',_latin2'b',_latin2'B')); collation(replace(_latin2'abcd',_latin2'b',_latin2'B')) coercibility(replace(_latin2'abcd',_latin2'b',_latin2'B')) latin2_general_ci 4 select collation(encode('abcd','ab')), coercibility(encode('abcd','ab')); collation(encode('abcd','ab')) coercibility(encode('abcd','ab')) binary 4 create table t1 select bin(130), oct(130), conv(130,16,10), hex(130), char(130), format(130,10), left(_latin2'a',1), right(_latin2'a',1), lcase(_latin2'a'), ucase(_latin2'a'), substring(_latin2'a',1,1), concat(_latin2'a',_latin2'b'), lpad(_latin2'a',4,_latin2'b'), rpad(_latin2'a',4,_latin2'b'), concat_ws(_latin2'a',_latin2'b'), make_set(255,_latin2'a',_latin2'b',_latin2'c'), export_set(255,_latin2'y',_latin2'n',_latin2' '), trim(_latin2' a '), ltrim(_latin2' a '), rtrim(_latin2' a '), trim(LEADING _latin2' ' FROM _latin2' a '), trim(TRAILING _latin2' ' FROM _latin2' a '), trim(BOTH _latin2' ' FROM _latin2' a '), repeat(_latin2'a',10), reverse(_latin2'ab'), quote(_latin2'ab'), soundex(_latin2'ab'), substring(_latin2'ab',1), insert(_latin2'abcd',2,3,_latin2'ef'), replace(_latin2'abcd',_latin2'b',_latin2'B'), encode('abcd','ab') ; Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `bin(130)` varchar(64) DEFAULT NULL, `oct(130)` varchar(64) DEFAULT NULL, `conv(130,16,10)` varchar(64) DEFAULT NULL, `hex(130)` varchar(6) DEFAULT NULL, `char(130)` varbinary(4) DEFAULT NULL, `format(130,10)` varchar(37) DEFAULT NULL, `left(_latin2'a',1)` varchar(1) CHARACTER SET latin2 DEFAULT NULL, `right(_latin2'a',1)` varchar(1) CHARACTER SET latin2 DEFAULT NULL, `lcase(_latin2'a')` varchar(1) CHARACTER SET latin2 DEFAULT NULL, `ucase(_latin2'a')` varchar(1) CHARACTER SET latin2 DEFAULT NULL, `substring(_latin2'a',1,1)` varchar(1) CHARACTER SET latin2 DEFAULT NULL, `concat(_latin2'a',_latin2'b')` varchar(2) CHARACTER SET latin2 DEFAULT NULL, `lpad(_latin2'a',4,_latin2'b')` varchar(4) CHARACTER SET latin2 DEFAULT NULL, `rpad(_latin2'a',4,_latin2'b')` varchar(4) CHARACTER SET latin2 DEFAULT NULL, `concat_ws(_latin2'a',_latin2'b')` varchar(1) CHARACTER SET latin2 DEFAULT NULL, `make_set(255,_latin2'a',_latin2'b',_latin2'c')` varchar(5) CHARACTER SET latin2 NOT NULL DEFAULT '', `export_set(255,_latin2'y',_latin2'n',_latin2' ')` varchar(127) CHARACTER SET latin2 DEFAULT NULL, `trim(_latin2' a ')` varchar(3) CHARACTER SET latin2 DEFAULT NULL, `ltrim(_latin2' a ')` varchar(3) CHARACTER SET latin2 DEFAULT NULL, `rtrim(_latin2' a ')` varchar(3) CHARACTER SET latin2 DEFAULT NULL, `trim(LEADING _latin2' ' FROM _latin2' a ')` varchar(3) CHARACTER SET latin2 DEFAULT NULL, `trim(TRAILING _latin2' ' FROM _latin2' a ')` varchar(3) CHARACTER SET latin2 DEFAULT NULL, `trim(BOTH _latin2' ' FROM _latin2' a ')` varchar(3) CHARACTER SET latin2 DEFAULT NULL, `repeat(_latin2'a',10)` varchar(10) CHARACTER SET latin2 DEFAULT NULL, `reverse(_latin2'ab')` varchar(2) CHARACTER SET latin2 DEFAULT NULL, `quote(_latin2'ab')` varchar(6) CHARACTER SET latin2 DEFAULT NULL, `soundex(_latin2'ab')` varchar(4) CHARACTER SET latin2 DEFAULT NULL, `substring(_latin2'ab',1)` varchar(2) CHARACTER SET latin2 DEFAULT NULL, `insert(_latin2'abcd',2,3,_latin2'ef')` varchar(6) CHARACTER SET latin2 DEFAULT NULL, `replace(_latin2'abcd',_latin2'b',_latin2'B')` varchar(4) CHARACTER SET latin2 DEFAULT NULL, `encode('abcd','ab')` varbinary(4) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop table t1; create table t1 (a char character set latin2); insert into t1 values (null); select charset(a), collation(a), coercibility(a) from t1; charset(a) collation(a) coercibility(a) latin2 latin2_general_ci 2 drop table t1; select charset(null), collation(null), coercibility(null); charset(null) collation(null) coercibility(null) binary binary 6 CREATE TABLE t1 (a int, b int); CREATE TABLE t2 (a int, b int); INSERT INTO t1 VALUES (1,1),(2,2); INSERT INTO t2 VALUES (2,2),(3,3); select t1.*,t2.* from t1 left join t2 on (t1.b=t2.b) where collation(t2.a) = _utf8'binary' order by t1.a,t2.a; a b a b 1 1 NULL NULL 2 2 2 2 select t1.*,t2.* from t1 left join t2 on (t1.b=t2.b) where charset(t2.a) = _utf8'binary' order by t1.a,t2.a; a b a b 1 1 NULL NULL 2 2 2 2 select t1.*,t2.* from t1 left join t2 on (t1.b=t2.b) where coercibility(t2.a) = 5 order by t1.a,t2.a; a b a b 1 1 NULL NULL 2 2 2 2 DROP TABLE t1, t2; select SUBSTR('abcdefg',3,2); SUBSTR('abcdefg',3,2) cd select SUBSTRING('abcdefg',3,2); SUBSTRING('abcdefg',3,2) cd select SUBSTR('abcdefg',-3,2) FROM DUAL; SUBSTR('abcdefg',-3,2) ef select SUBSTR('abcdefg',-1,5) FROM DUAL; SUBSTR('abcdefg',-1,5) g select SUBSTR('abcdefg',0,0) FROM DUAL; SUBSTR('abcdefg',0,0) select SUBSTR('abcdefg',-1,-1) FROM DUAL; SUBSTR('abcdefg',-1,-1) select SUBSTR('abcdefg',1,-1) FROM DUAL; SUBSTR('abcdefg',1,-1) create table t7 (s1 char); select * from t7 where concat(s1 collate latin1_general_ci,s1 collate latin1_swedish_ci) = 'AA'; ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_swedish_ci,EXPLICIT) for operation 'concat' drop table t7; select substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2),substring_index("1abcd;2abcd;3abcd;4abcd", ';', -2); substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2) substring_index("1abcd;2abcd;3abcd;4abcd", ';', -2) 1abcd;2abcd 3abcd;4abcd explain extended select md5('hello'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select md5('hello') AS `md5('hello')` explain extended select sha('abc'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select sha('abc') AS `sha('abc')` explain extended select sha1('abc'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select sha('abc') AS `sha1('abc')` explain extended select soundex(''); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select soundex('') AS `soundex('')` explain extended select 'mood' sounds like 'mud'; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select (soundex('mood') = soundex('mud')) AS `'mood' sounds like 'mud'` explain extended select aes_decrypt(aes_encrypt('abc','1'),'1'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select aes_decrypt(aes_encrypt('abc','1'),'1') AS `aes_decrypt(aes_encrypt('abc','1'),'1')` explain extended select concat('*',space(5),'*'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select concat('*',space(5),'*') AS `concat('*',space(5),'*')` explain extended select reverse('abc'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select reverse('abc') AS `reverse('abc')` explain extended select rpad('a',4,'1'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select rpad('a',4,'1') AS `rpad('a',4,'1')` explain extended select lpad('a',4,'1'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select lpad('a',4,'1') AS `lpad('a',4,'1')` explain extended select concat_ws(',','',NULL,'a'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select concat_ws(',','',NULL,'a') AS `concat_ws(',','',NULL,'a')` explain extended select make_set(255,_latin2'a', _latin2'b', _latin2'c'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select make_set(255,_latin2'a',_latin2'b',_latin2'c') AS `make_set(255,_latin2'a', _latin2'b', _latin2'c')` explain extended select elt(2,1); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select elt(2,1) AS `elt(2,1)` explain extended select locate("a","b",2); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select locate('a','b',2) AS `locate("a","b",2)` explain extended select format(130,10); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select format(130,10) AS `format(130,10)` explain extended select char(0); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select char(0) AS `char(0)` explain extended select conv(130,16,10); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select conv(130,16,10) AS `conv(130,16,10)` explain extended select hex(130); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select hex(130) AS `hex(130)` explain extended select binary 'HE'; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select cast('HE' as char charset binary) AS `binary 'HE'` explain extended select export_set(255,_latin2'y', _latin2'n', _latin2' '); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select export_set(255,_latin2'y',_latin2'n',_latin2' ') AS `export_set(255,_latin2'y', _latin2'n', _latin2' ')` explain extended select FIELD('b' COLLATE latin1_bin,'A','B'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select field(('b' collate latin1_bin),'A','B') AS `FIELD('b' COLLATE latin1_bin,'A','B')` explain extended select FIND_IN_SET(_latin1'B', _latin1'a,b,c,d'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select find_in_set(_latin1'B',_latin1'a,b,c,d') AS `FIND_IN_SET(_latin1'B', _latin1'a,b,c,d')` explain extended select collation(conv(130,16,10)); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select collation(conv(130,16,10)) AS `collation(conv(130,16,10))` explain extended select coercibility(conv(130,16,10)); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select coercibility(conv(130,16,10)) AS `coercibility(conv(130,16,10))` explain extended select length('\n\t\r\b\0\_\%\\'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select length('\n \r\0\\_\\%\\') AS `length('\n\t\r\b\0\_\%\\')` explain extended select bit_length('\n\t\r\b\0\_\%\\'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select bit_length('\n \r\0\\_\\%\\') AS `bit_length('\n\t\r\b\0\_\%\\')` explain extended select bit_length('\n\t\r\b\0\_\%\\'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select bit_length('\n \r\0\\_\\%\\') AS `bit_length('\n\t\r\b\0\_\%\\')` explain extended select concat('monty',' was here ','again'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select concat('monty',' was here ','again') AS `concat('monty',' was here ','again')` explain extended select length('hello'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select length('hello') AS `length('hello')` explain extended select char(ascii('h')); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select char(ascii('h')) AS `char(ascii('h'))` explain extended select ord('h'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select ord('h') AS `ord('h')` explain extended select quote(1/0); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select quote((1 / 0)) AS `quote(1/0)` explain extended select crc32("123"); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select crc32('123') AS `crc32("123")` explain extended select replace('aaaa','a','b'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select replace('aaaa','a','b') AS `replace('aaaa','a','b')` explain extended select insert('txs',2,1,'hi'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select insert('txs',2,1,'hi') AS `insert('txs',2,1,'hi')` explain extended select left(_latin2'a',1); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select left(_latin2'a',1) AS `left(_latin2'a',1)` explain extended select right(_latin2'a',1); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select right(_latin2'a',1) AS `right(_latin2'a',1)` explain extended select lcase(_latin2'a'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select lower(_latin2'a') AS `lcase(_latin2'a')` explain extended select ucase(_latin2'a'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select upper(_latin2'a') AS `ucase(_latin2'a')` explain extended select SUBSTR('abcdefg',3,2); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select substr('abcdefg',3,2) AS `SUBSTR('abcdefg',3,2)` explain extended select substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select substring_index('1abcd;2abcd;3abcd;4abcd',';',2) AS `substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2)` explain extended select trim(_latin2' a '); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select trim(_latin2' a ') AS `trim(_latin2' a ')` explain extended select ltrim(_latin2' a '); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select ltrim(_latin2' a ') AS `ltrim(_latin2' a ')` explain extended select rtrim(_latin2' a '); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select rtrim(_latin2' a ') AS `rtrim(_latin2' a ')` explain extended select decode(encode(repeat("a",100000),"monty"),"monty"); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select decode(encode(repeat('a',100000),'monty'),'monty') AS `decode(encode(repeat("a",100000),"monty"),"monty")` SELECT lpad(12345, 5, "#"); lpad(12345, 5, "#") 12345 SELECT conv(71, 10, 36), conv('1Z', 36, 10); conv(71, 10, 36) conv('1Z', 36, 10) 1Z 71 SELECT conv(71, 10, 37), conv('1Z', 37, 10), conv(0,1,10),conv(0,0,10), conv(0,-1,10); conv(71, 10, 37) conv('1Z', 37, 10) conv(0,1,10) conv(0,0,10) conv(0,-1,10) NULL NULL NULL NULL NULL create table t1 (id int(1), str varchar(10)) DEFAULT CHARSET=utf8; insert into t1 values (1,'aaaaaaaaaa'), (2,'bbbbbbbbbb'); create table t2 (id int(1), str varchar(10)) DEFAULT CHARSET=utf8; insert into t2 values (1,'cccccccccc'), (2,'dddddddddd'); select substring(concat(t1.str, t2.str), 1, 15) "name" from t1, t2 where t2.id=t1.id order by name; name aaaaaaaaaaccccc bbbbbbbbbbddddd drop table t1, t2; create table t1 (c1 INT, c2 INT UNSIGNED); insert ignore into t1 values ('21474836461','21474836461'); Warnings: Warning 1264 Out of range value for column 'c1' at row 1 Warning 1264 Out of range value for column 'c2' at row 1 insert ignore into t1 values ('-21474836461','-21474836461'); Warnings: Warning 1264 Out of range value for column 'c1' at row 1 Warning 1264 Out of range value for column 'c2' at row 1 show warnings; Level Code Message Warning 1264 Out of range value for column 'c1' at row 1 Warning 1264 Out of range value for column 'c2' at row 1 select * from t1; c1 c2 2147483647 4294967295 -2147483648 0 drop table t1; select left(1234, 3) + 0; left(1234, 3) + 0 123 create table t1 (a int not null primary key, b varchar(40), c datetime); insert into t1 (a,b,c) values (1,'Tom','2004-12-10 12:13:14'),(2,'ball games','2004-12-10 12:13:14'), (3,'Basil','2004-12-10 12:13:14'), (4,'Dean','2004-12-10 12:13:14'),(5,'Ellis','2004-12-10 12:13:14'), (6,'Serg','2004-12-10 12:13:14'), (7,'Sergei','2004-12-10 12:13:14'),(8,'Georg','2004-12-10 12:13:14'),(9,'Salle','2004-12-10 12:13:14'),(10,'Sinisa','2004-12-10 12:13:14'); select count(*) as total, left(c,10) as reg from t1 group by reg order by reg desc limit 0,12; total reg 10 2004-12-10 drop table t1; select trim(null from 'kate') as "must_be_null"; must_be_null NULL select trim('xyz' from null) as "must_be_null"; must_be_null NULL select trim(leading NULL from 'kate') as "must_be_null"; must_be_null NULL select trim(trailing NULL from 'xyz') as "must_be_null"; must_be_null NULL CREATE TABLE t1 ( id int(11) NOT NULL auto_increment, a bigint(20) unsigned default NULL, PRIMARY KEY (id) ) ENGINE=MyISAM; INSERT INTO t1 VALUES ('0','16307858876001849059'); SELECT CONV('e251273eb74a8ee3', 16, 10); CONV('e251273eb74a8ee3', 16, 10) 16307858876001849059 EXPLAIN SELECT id FROM t1 WHERE a = 16307858876001849059; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL system NULL NULL NULL NULL 1 100.00 NULL Warnings: Note 1003 /* select#1 */ select '1' AS `id` from dual where 1 EXPLAIN SELECT id FROM t1 WHERE a = CONV('e251273eb74a8ee3', 16, 10); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL system NULL NULL NULL NULL 1 100.00 NULL Warnings: Note 1003 /* select#1 */ select '1' AS `id` from dual where 1 DROP TABLE t1; SELECT CHAR(NULL,121,83,81,'76') as my_column; my_column ySQL SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column; my_column 4 CREATE TABLE t1 (id int PRIMARY KEY, str char(255) NOT NULL); CREATE TABLE t2 (id int NOT NULL UNIQUE); INSERT INTO t2 VALUES (1),(2); INSERT INTO t1 VALUES (1, aes_encrypt('foo', 'bar')); INSERT INTO t1 VALUES (2, 'not valid'); SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id; id aes_decrypt(str, 'bar') 1 foo 2 NULL SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id ORDER BY t1.id; id aes_decrypt(str, 'bar') 1 foo 2 NULL DROP TABLE t1, t2; select field(0,NULL,1,0), field("",NULL,"bar",""), field(0.0,NULL,1.0,0.0); field(0,NULL,1,0) field("",NULL,"bar","") field(0.0,NULL,1.0,0.0) 3 3 3 select field(NULL,1,2,NULL), field(NULL,1,2,0); field(NULL,1,2,NULL) field(NULL,1,2,0) 0 0 CREATE TABLE t1 (str varchar(20) PRIMARY KEY); CREATE TABLE t2 (num int primary key); INSERT INTO t1 VALUES ('notnumber'); INSERT INTO t2 VALUES (0), (1); SELECT * FROM t1, t2 WHERE num=str; str num notnumber 0 Warnings: Warning 1292 Truncated incorrect DOUBLE value: 'notnumber' Warning 1292 Truncated incorrect DOUBLE value: 'notnumber' SELECT * FROM t1, t2 WHERE num=substring(str from 1 for 6); str num notnumber 0 DROP TABLE t1,t2; CREATE TABLE t1( id int(11) NOT NULL auto_increment, pc int(11) NOT NULL default '0', title varchar(20) default NULL, PRIMARY KEY (id) ); INSERT INTO t1 VALUES (1, 0, 'Main'), (2, 1, 'Toys'), (3, 1, 'Games'); SELECT t1.id, CONCAT_WS('->', t3.title, t2.title, t1.title) as col1 FROM t1 LEFT JOIN t1 AS t2 ON t1.pc=t2.id LEFT JOIN t1 AS t3 ON t2.pc=t3.id; id col1 1 Main 2 Main->Toys 3 Main->Games SELECT t1.id, CONCAT_WS('->', t3.title, t2.title, t1.title) as col1 FROM t1 LEFT JOIN t1 AS t2 ON t1.pc=t2.id LEFT JOIN t1 AS t3 ON t2.pc=t3.id WHERE CONCAT_WS('->', t3.title, t2.title, t1.title) LIKE '%Toys%'; id col1 2 Main->Toys DROP TABLE t1; CREATE TABLE t1( trackid int(10) unsigned NOT NULL auto_increment, trackname varchar(100) NOT NULL default '', PRIMARY KEY (trackid) ); CREATE TABLE t2( artistid int(10) unsigned NOT NULL auto_increment, artistname varchar(100) NOT NULL default '', PRIMARY KEY (artistid) ); CREATE TABLE t3( trackid int(10) unsigned NOT NULL, artistid int(10) unsigned NOT NULL, PRIMARY KEY (trackid,artistid) ); INSERT INTO t1 VALUES (1, 'April In Paris'), (2, 'Autumn In New York'); INSERT INTO t2 VALUES (1, 'Vernon Duke'); INSERT INTO t3 VALUES (1,1); SELECT CONCAT_WS(' ', trackname, artistname) trackname, artistname FROM t1 LEFT JOIN t3 ON t1.trackid=t3.trackid LEFT JOIN t2 ON t2.artistid=t3.artistid WHERE CONCAT_WS(' ', trackname, artistname) LIKE '%In%'; trackname artistname April In Paris Vernon Duke Vernon Duke Autumn In New York NULL DROP TABLE t1,t2,t3; create table t1 (b varchar(5)); insert t1 values ('ab'), ('abc'), ('abcd'), ('abcde'); select *,substring(b,1),substring(b,-1),substring(b,-2),substring(b,-3),substring(b,-4),substring(b,-5) from t1; b substring(b,1) substring(b,-1) substring(b,-2) substring(b,-3) substring(b,-4) substring(b,-5) ab ab b ab abc abc c bc abc abcd abcd d cd bcd abcd abcde abcde e de cde bcde abcde select * from (select *,substring(b,1),substring(b,-1),substring(b,-2),substring(b,-3),substring(b,-4),substring(b,-5) from t1) t; b substring(b,1) substring(b,-1) substring(b,-2) substring(b,-3) substring(b,-4) substring(b,-5) ab ab b ab abc abc c bc abc abcd abcd d cd bcd abcd abcde abcde e de cde bcde abcde drop table t1; select hex(29223372036854775809), hex(-29223372036854775809); hex(29223372036854775809) hex(-29223372036854775809) FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF create table t1 (i int); insert into t1 values (1000000000),(1); select lpad(i, 7, ' ') as t from t1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def t 253 7 7 Y 0 31 8 t 1000000 1 select rpad(i, 7, ' ') as t from t1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def t 253 7 7 Y 0 31 8 t 1000000 1 drop table t1; select load_file("lkjlkj"); load_file("lkjlkj") NULL select ifnull(load_file("lkjlkj"),"it's null"); ifnull(load_file("lkjlkj"),"it's null") it's null create table t1 (f1 varchar(4), f2 varchar(64), unique key k1 (f1,f2)); insert into t1 values ( 'test',md5('test')), ('test', sha('test')); select * from t1 where f1='test' and (f2= md5("test") or f2= md5("TEST")); f1 f2 test 098f6bcd4621d373cade4e832627b4f6 select * from t1 where f1='test' and (f2= md5("TEST") or f2= md5("test")); f1 f2 test 098f6bcd4621d373cade4e832627b4f6 select * from t1 where f1='test' and (f2= sha("test") or f2= sha("TEST")); f1 f2 test a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 select * from t1 where f1='test' and (f2= sha("TEST") or f2= sha("test")); f1 f2 test a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 drop table t1; CREATE TABLE t1 (a varchar(10)); INSERT INTO t1 VALUES ('abc'), ('xyz'); SELECT a, CONCAT(a,' ',a) AS c FROM t1 HAVING LEFT(c,LENGTH(c)-INSTR(REVERSE(c)," ")) = a; a c abc abc abc xyz xyz xyz SELECT a, CONCAT(a,' ',a) AS c FROM t1 HAVING LEFT(CONCAT(a,' ',a), LENGTH(CONCAT(a,' ',a))- INSTR(REVERSE(CONCAT(a,' ',a))," ")) = a; a c abc abc abc xyz xyz xyz DROP TABLE t1; CREATE TABLE t1 (s varchar(10)); INSERT INTO t1 VALUES ('yadda'), ('yaddy'); EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(s) > 'ab'; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(`test`.`t1`.`s`) > 'ab') EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM('y' FROM s) > 'ab'; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim('y' from `test`.`t1`.`s`) > 'ab') EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(LEADING 'y' FROM s) > 'ab'; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(leading 'y' from `test`.`t1`.`s`) > 'ab') EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(TRAILING 'y' FROM s) > 'ab'; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(trailing 'y' from `test`.`t1`.`s`) > 'ab') EXPLAIN EXTENDED SELECT s FROM t1 WHERE TRIM(BOTH 'y' FROM s) > 'ab'; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select `test`.`t1`.`s` AS `s` from `test`.`t1` where (trim(both 'y' from `test`.`t1`.`s`) > 'ab') DROP TABLE t1; create table t1(f1 varchar(4)); explain extended select encode(f1,'zxcv') as 'enc' from t1; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL no matching row in const table Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select encode(NULL,'zxcv') AS `enc` from `test`.`t1` explain extended select decode(f1,'zxcv') as 'enc' from t1; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL NULL no matching row in const table Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select decode(NULL,'zxcv') AS `enc` from `test`.`t1` drop table t1; create table t1 (a bigint not null)engine=myisam; insert into t1 set a = 1024*1024*1024*4; SET @orig_sql_mode = @@SQL_MODE; SET SQL_MODE=''; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. delete from t1 order by (inet_ntoa(a)) desc limit 10; Warnings: Warning 1411 Incorrect integer value: '`test`.`t1`.`a`' for function inet_ntoa SET SQL_MODE=@orig_sql_mode; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. drop table t1; create table t1 (a char(36) not null)engine=myisam; insert ignore into t1 set a = ' '; insert ignore into t1 set a = ' '; select * from t1 order by (oct(a)); a drop table t1; End of 4.1 tests create table t1 (d decimal default null); insert into t1 values (null); select format(d, 2) from t1; format(d, 2) NULL drop table t1; create table t1 (c varchar(40)); insert into t1 values ('y,abc'),('y,abc'); select c, substring_index(lcase(c), @q:=',', -1) as res from t1; c res y,abc abc y,abc abc drop table t1; select cast(rtrim(' 20.06 ') as decimal(19,2)); cast(rtrim(' 20.06 ') as decimal(19,2)) 20.06 select cast(ltrim(' 20.06 ') as decimal(19,2)); cast(ltrim(' 20.06 ') as decimal(19,2)) 20.06 select cast(rtrim(ltrim(' 20.06 ')) as decimal(19,2)); cast(rtrim(ltrim(' 20.06 ')) as decimal(19,2)) 20.06 select conv("18383815659218730760",10,10) + 0; conv("18383815659218730760",10,10) + 0 1.838381565921873e19 select "18383815659218730760" + 0; "18383815659218730760" + 0 1.838381565921873e19 CREATE TABLE t1 (code varchar(10)); INSERT INTO t1 VALUES ('a12'), ('A12'), ('a13'); SELECT ASCII(code), code FROM t1 WHERE code='A12'; ASCII(code) code 97 a12 65 A12 SELECT ASCII(code), code FROM t1 WHERE code='A12' AND ASCII(code)=65; ASCII(code) code 65 A12 INSERT INTO t1 VALUES ('a12 '), ('A12 '); SELECT LENGTH(code), code FROM t1 WHERE code='A12'; LENGTH(code) code 3 a12 3 A12 4 a12 5 A12 SELECT LENGTH(code), code FROM t1 WHERE code='A12' AND LENGTH(code)=5; LENGTH(code) code 5 A12 ALTER TABLE t1 ADD INDEX (code); CREATE TABLE t2 (id varchar(10) PRIMARY KEY); INSERT INTO t2 VALUES ('a11'), ('a12'), ('a13'), ('a14'); SELECT * FROM t1 INNER JOIN t2 ON t1.code=t2.id WHERE t2.id='a12' AND (LENGTH(code)=5 OR code < 'a00'); code id A12 a12 EXPLAIN EXTENDED SELECT * FROM t1 INNER JOIN t2 ON code=id WHERE id='a12' AND (LENGTH(code)=5 OR code < 'a00'); id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t2 NULL const PRIMARY PRIMARY 12 const 1 100.00 Using index 1 SIMPLE t1 NULL ref code code 13 const 3 100.00 Using where; Using index Warnings: Warning 1681 'EXTENDED' is deprecated and will be removed in a future release. Note 1003 /* select#1 */ select `test`.`t1`.`code` AS `code`,'a12' AS `id` from `test`.`t1` join `test`.`t2` where ((`test`.`t1`.`code` = 'a12') and (length(`test`.`t1`.`code`) = 5)) DROP TABLE t1,t2; select encode(NULL, NULL); encode(NULL, NULL) NULL select encode("data", NULL); encode("data", NULL) NULL select encode(NULL, "password"); encode(NULL, "password") NULL select decode(NULL, NULL); decode(NULL, NULL) NULL select decode("data", NULL); decode("data", NULL) NULL select decode(NULL, "password"); decode(NULL, "password") NULL select format(NULL, NULL); format(NULL, NULL) NULL select format(pi(), NULL); format(pi(), NULL) NULL select format(NULL, 2); format(NULL, 2) NULL select benchmark(NULL, NULL); benchmark(NULL, NULL) NULL select benchmark(0, NULL); benchmark(0, NULL) 0 select benchmark(100, NULL); benchmark(100, NULL) 0 select benchmark(NULL, 1+1); benchmark(NULL, 1+1) NULL select benchmark(-1, 1); benchmark(-1, 1) NULL Warnings: Warning 1411 Incorrect count value: '-1' for function benchmark set @password="password"; set @my_data="clear text to encode"; select md5(encode(@my_data, "password")); md5(encode(@my_data, "password")) 44320fd2b4a0ec92faa2da2122def917 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead select md5(encode(@my_data, _utf8 "password")); md5(encode(@my_data, _utf8 "password")) 44320fd2b4a0ec92faa2da2122def917 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead select md5(encode(@my_data, binary "password")); md5(encode(@my_data, binary "password")) 44320fd2b4a0ec92faa2da2122def917 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead select md5(encode(@my_data, _latin1 "password")); md5(encode(@my_data, _latin1 "password")) 44320fd2b4a0ec92faa2da2122def917 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead select md5(encode(@my_data, _koi8r "password")); md5(encode(@my_data, _koi8r "password")) 44320fd2b4a0ec92faa2da2122def917 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead select md5(encode(@my_data, (select "password" from dual))); md5(encode(@my_data, (select "password" from dual))) 44320fd2b4a0ec92faa2da2122def917 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead select md5(encode(@my_data, concat("pass", "word"))); md5(encode(@my_data, concat("pass", "word"))) 44320fd2b4a0ec92faa2da2122def917 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead select md5(encode(@my_data, @password)); md5(encode(@my_data, @password)) 44320fd2b4a0ec92faa2da2122def917 Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead set @my_data="binary encoded data"; select md5(decode(@my_data, "password")); md5(decode(@my_data, "password")) 5bea8c394368dbc03b76684483b7756b Warnings: Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select md5(decode(@my_data, _utf8 "password")); md5(decode(@my_data, _utf8 "password")) 5bea8c394368dbc03b76684483b7756b Warnings: Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select md5(decode(@my_data, binary "password")); md5(decode(@my_data, binary "password")) 5bea8c394368dbc03b76684483b7756b Warnings: Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select md5(decode(@my_data, _latin1 "password")); md5(decode(@my_data, _latin1 "password")) 5bea8c394368dbc03b76684483b7756b Warnings: Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select md5(decode(@my_data, _koi8r "password")); md5(decode(@my_data, _koi8r "password")) 5bea8c394368dbc03b76684483b7756b Warnings: Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select md5(decode(@my_data, (select "password" from dual))); md5(decode(@my_data, (select "password" from dual))) 5bea8c394368dbc03b76684483b7756b Warnings: Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select md5(decode(@my_data, concat("pass", "word"))); md5(decode(@my_data, concat("pass", "word"))) 5bea8c394368dbc03b76684483b7756b Warnings: Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead select md5(decode(@my_data, @password)); md5(decode(@my_data, @password)) 5bea8c394368dbc03b76684483b7756b Warnings: Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead set @dec=5; select format(pi(), (1+1)); format(pi(), (1+1)) 3.14 select format(pi(), (select 3 from dual)); format(pi(), (select 3 from dual)) 3.142 select format(pi(), @dec); format(pi(), @dec) 3.14159 set @bench_count=10; select benchmark(10, pi()); benchmark(10, pi()) 0 select benchmark(5+5, pi()); benchmark(5+5, pi()) 0 select benchmark((select 10 from dual), pi()); benchmark((select 10 from dual), pi()) 0 select benchmark(@bench_count, pi()); benchmark(@bench_count, pi()) 0 select locate('he','hello',-2); locate('he','hello',-2) 0 select locate('lo','hello',-4294967295); locate('lo','hello',-4294967295) 0 select locate('lo','hello',4294967295); locate('lo','hello',4294967295) 0 select locate('lo','hello',-4294967296); locate('lo','hello',-4294967296) 0 select locate('lo','hello',4294967296); locate('lo','hello',4294967296) 0 select locate('lo','hello',-4294967297); locate('lo','hello',-4294967297) 0 select locate('lo','hello',4294967297); locate('lo','hello',4294967297) 0 select locate('lo','hello',-18446744073709551615); locate('lo','hello',-18446744073709551615) 0 Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select locate('lo','hello',18446744073709551615); locate('lo','hello',18446744073709551615) 0 select locate('lo','hello',-18446744073709551616); locate('lo','hello',-18446744073709551616) 0 Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select locate('lo','hello',18446744073709551616); locate('lo','hello',18446744073709551616) 0 Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select locate('lo','hello',-18446744073709551617); locate('lo','hello',-18446744073709551617) 0 Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select locate('lo','hello',18446744073709551617); locate('lo','hello',18446744073709551617) 0 Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select left('hello', 10); left('hello', 10) hello select left('hello', 0); left('hello', 0) select left('hello', -1); left('hello', -1) select left('hello', -4294967295); left('hello', -4294967295) select left('hello', 4294967295); left('hello', 4294967295) hello select left('hello', -4294967296); left('hello', -4294967296) select left('hello', 4294967296); left('hello', 4294967296) hello select left('hello', -4294967297); left('hello', -4294967297) select left('hello', 4294967297); left('hello', 4294967297) hello select left('hello', -18446744073709551615); left('hello', -18446744073709551615) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select left('hello', 18446744073709551615); left('hello', 18446744073709551615) hello select left('hello', -18446744073709551616); left('hello', -18446744073709551616) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select left('hello', 18446744073709551616); left('hello', 18446744073709551616) hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select left('hello', -18446744073709551617); left('hello', -18446744073709551617) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select left('hello', 18446744073709551617); left('hello', 18446744073709551617) hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select right('hello', 10); right('hello', 10) hello select right('hello', 0); right('hello', 0) select right('hello', -1); right('hello', -1) select right('hello', -4294967295); right('hello', -4294967295) select right('hello', 4294967295); right('hello', 4294967295) hello select right('hello', -4294967296); right('hello', -4294967296) select right('hello', 4294967296); right('hello', 4294967296) hello select right('hello', -4294967297); right('hello', -4294967297) select right('hello', 4294967297); right('hello', 4294967297) hello select right('hello', -18446744073709551615); right('hello', -18446744073709551615) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select right('hello', 18446744073709551615); right('hello', 18446744073709551615) hello select right('hello', -18446744073709551616); right('hello', -18446744073709551616) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select right('hello', 18446744073709551616); right('hello', 18446744073709551616) hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select right('hello', -18446744073709551617); right('hello', -18446744073709551617) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select right('hello', 18446744073709551617); right('hello', 18446744073709551617) hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select substring('hello', 2, -1); substring('hello', 2, -1) select substring('hello', -1, 1); substring('hello', -1, 1) o select substring('hello', -2, 1); substring('hello', -2, 1) l select substring('hello', -4294967295, 1); substring('hello', -4294967295, 1) select substring('hello', 4294967295, 1); substring('hello', 4294967295, 1) select substring('hello', -4294967296, 1); substring('hello', -4294967296, 1) select substring('hello', 4294967296, 1); substring('hello', 4294967296, 1) select substring('hello', -4294967297, 1); substring('hello', -4294967297, 1) select substring('hello', 4294967297, 1); substring('hello', 4294967297, 1) select substring('hello', -18446744073709551615, 1); substring('hello', -18446744073709551615, 1) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select substring('hello', 18446744073709551615, 1); substring('hello', 18446744073709551615, 1) select substring('hello', -18446744073709551616, 1); substring('hello', -18446744073709551616, 1) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select substring('hello', 18446744073709551616, 1); substring('hello', 18446744073709551616, 1) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select substring('hello', -18446744073709551617, 1); substring('hello', -18446744073709551617, 1) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select substring('hello', 18446744073709551617, 1); substring('hello', 18446744073709551617, 1) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select substring('hello', 1, -1); substring('hello', 1, -1) select substring('hello', 1, -4294967295); substring('hello', 1, -4294967295) select substring('hello', 1, 4294967295); substring('hello', 1, 4294967295) hello select substring('hello', 1, -4294967296); substring('hello', 1, -4294967296) select substring('hello', 1, 4294967296); substring('hello', 1, 4294967296) hello select substring('hello', 1, -4294967297); substring('hello', 1, -4294967297) select substring('hello', 1, 4294967297); substring('hello', 1, 4294967297) hello select substring('hello', 1, -18446744073709551615); substring('hello', 1, -18446744073709551615) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select substring('hello', 1, 18446744073709551615); substring('hello', 1, 18446744073709551615) hello select substring('hello', 1, -18446744073709551616); substring('hello', 1, -18446744073709551616) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select substring('hello', 1, 18446744073709551616); substring('hello', 1, 18446744073709551616) hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select substring('hello', 1, -18446744073709551617); substring('hello', 1, -18446744073709551617) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select substring('hello', 1, 18446744073709551617); substring('hello', 1, 18446744073709551617) hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select substring('hello', -1, -1); substring('hello', -1, -1) select substring('hello', -4294967295, -4294967295); substring('hello', -4294967295, -4294967295) select substring('hello', 4294967295, 4294967295); substring('hello', 4294967295, 4294967295) select substring('hello', -4294967296, -4294967296); substring('hello', -4294967296, -4294967296) select substring('hello', 4294967296, 4294967296); substring('hello', 4294967296, 4294967296) select substring('hello', -4294967297, -4294967297); substring('hello', -4294967297, -4294967297) select substring('hello', 4294967297, 4294967297); substring('hello', 4294967297, 4294967297) select substring('hello', -18446744073709551615, -18446744073709551615); substring('hello', -18446744073709551615, -18446744073709551615) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select substring('hello', 18446744073709551615, 18446744073709551615); substring('hello', 18446744073709551615, 18446744073709551615) select substring('hello', -18446744073709551616, -18446744073709551616); substring('hello', -18446744073709551616, -18446744073709551616) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select substring('hello', 18446744073709551616, 18446744073709551616); substring('hello', 18446744073709551616, 18446744073709551616) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select substring('hello', -18446744073709551617, -18446744073709551617); substring('hello', -18446744073709551617, -18446744073709551617) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select substring('hello', 18446744073709551617, 18446744073709551617); substring('hello', 18446744073709551617, 18446744073709551617) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select insert('hello', -1, 1, 'hi'); insert('hello', -1, 1, 'hi') hello select insert('hello', -4294967295, 1, 'hi'); insert('hello', -4294967295, 1, 'hi') hello select insert('hello', 4294967295, 1, 'hi'); insert('hello', 4294967295, 1, 'hi') hello select insert('hello', -4294967296, 1, 'hi'); insert('hello', -4294967296, 1, 'hi') hello select insert('hello', 4294967296, 1, 'hi'); insert('hello', 4294967296, 1, 'hi') hello select insert('hello', -4294967297, 1, 'hi'); insert('hello', -4294967297, 1, 'hi') hello select insert('hello', 4294967297, 1, 'hi'); insert('hello', 4294967297, 1, 'hi') hello select insert('hello', -18446744073709551615, 1, 'hi'); insert('hello', -18446744073709551615, 1, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select insert('hello', 18446744073709551615, 1, 'hi'); insert('hello', 18446744073709551615, 1, 'hi') hello select insert('hello', -18446744073709551616, 1, 'hi'); insert('hello', -18446744073709551616, 1, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select insert('hello', 18446744073709551616, 1, 'hi'); insert('hello', 18446744073709551616, 1, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select insert('hello', -18446744073709551617, 1, 'hi'); insert('hello', -18446744073709551617, 1, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select insert('hello', 18446744073709551617, 1, 'hi'); insert('hello', 18446744073709551617, 1, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select insert('hello', 1, -1, 'hi'); insert('hello', 1, -1, 'hi') hi select insert('hello', 1, -4294967295, 'hi'); insert('hello', 1, -4294967295, 'hi') hi select insert('hello', 1, 4294967295, 'hi'); insert('hello', 1, 4294967295, 'hi') hi select insert('hello', 1, -4294967296, 'hi'); insert('hello', 1, -4294967296, 'hi') hi select insert('hello', 1, 4294967296, 'hi'); insert('hello', 1, 4294967296, 'hi') hi select insert('hello', 1, -4294967297, 'hi'); insert('hello', 1, -4294967297, 'hi') hi select insert('hello', 1, 4294967297, 'hi'); insert('hello', 1, 4294967297, 'hi') hi select insert('hello', 1, -18446744073709551615, 'hi'); insert('hello', 1, -18446744073709551615, 'hi') hi Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select insert('hello', 1, 18446744073709551615, 'hi'); insert('hello', 1, 18446744073709551615, 'hi') hi select insert('hello', 1, -18446744073709551616, 'hi'); insert('hello', 1, -18446744073709551616, 'hi') hi Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select insert('hello', 1, 18446744073709551616, 'hi'); insert('hello', 1, 18446744073709551616, 'hi') hi Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select insert('hello', 1, -18446744073709551617, 'hi'); insert('hello', 1, -18446744073709551617, 'hi') hi Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select insert('hello', 1, 18446744073709551617, 'hi'); insert('hello', 1, 18446744073709551617, 'hi') hi Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select insert('hello', -1, -1, 'hi'); insert('hello', -1, -1, 'hi') hello select insert('hello', -4294967295, -4294967295, 'hi'); insert('hello', -4294967295, -4294967295, 'hi') hello select insert('hello', 4294967295, 4294967295, 'hi'); insert('hello', 4294967295, 4294967295, 'hi') hello select insert('hello', -4294967296, -4294967296, 'hi'); insert('hello', -4294967296, -4294967296, 'hi') hello select insert('hello', 4294967296, 4294967296, 'hi'); insert('hello', 4294967296, 4294967296, 'hi') hello select insert('hello', -4294967297, -4294967297, 'hi'); insert('hello', -4294967297, -4294967297, 'hi') hello select insert('hello', 4294967297, 4294967297, 'hi'); insert('hello', 4294967297, 4294967297, 'hi') hello select insert('hello', -18446744073709551615, -18446744073709551615, 'hi'); insert('hello', -18446744073709551615, -18446744073709551615, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select insert('hello', 18446744073709551615, 18446744073709551615, 'hi'); insert('hello', 18446744073709551615, 18446744073709551615, 'hi') hello select insert('hello', -18446744073709551616, -18446744073709551616, 'hi'); insert('hello', -18446744073709551616, -18446744073709551616, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select insert('hello', 18446744073709551616, 18446744073709551616, 'hi'); insert('hello', 18446744073709551616, 18446744073709551616, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' select insert('hello', -18446744073709551617, -18446744073709551617, 'hi'); insert('hello', -18446744073709551617, -18446744073709551617, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select insert('hello', 18446744073709551617, 18446744073709551617, 'hi'); insert('hello', 18446744073709551617, 18446744073709551617, 'hi') hello Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' select repeat('hello', -1); repeat('hello', -1) select repeat('hello', -4294967295); repeat('hello', -4294967295) select repeat('hello', 4294967295); repeat('hello', 4294967295) NULL Warnings: Warning 1301 Result of repeat() was larger than max_allowed_packet (4194304) - truncated select repeat('hello', -4294967296); repeat('hello', -4294967296) select repeat('hello', 4294967296); repeat('hello', 4294967296) NULL Warnings: Warning 1301 Result of repeat() was larger than max_allowed_packet (4194304) - truncated select repeat('hello', -4294967297); repeat('hello', -4294967297) select repeat('hello', 4294967297); repeat('hello', 4294967297) NULL Warnings: Warning 1301 Result of repeat() was larger than max_allowed_packet (4194304) - truncated select repeat('hello', -18446744073709551615); repeat('hello', -18446744073709551615) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select repeat('hello', 18446744073709551615); repeat('hello', 18446744073709551615) NULL Warnings: Warning 1301 Result of repeat() was larger than max_allowed_packet (4194304) - truncated select repeat('hello', -18446744073709551616); repeat('hello', -18446744073709551616) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select repeat('hello', 18446744073709551616); repeat('hello', 18446744073709551616) NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1301 Result of repeat() was larger than max_allowed_packet (4194304) - truncated select repeat('hello', -18446744073709551617); repeat('hello', -18446744073709551617) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select repeat('hello', 18446744073709551617); repeat('hello', 18446744073709551617) NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1301 Result of repeat() was larger than max_allowed_packet (4194304) - truncated select space(-1); space(-1) select space(-4294967295); space(-4294967295) select space(4294967295); space(4294967295) NULL Warnings: Warning 1301 Result of space() was larger than max_allowed_packet (4194304) - truncated select space(-4294967296); space(-4294967296) select space(4294967296); space(4294967296) NULL Warnings: Warning 1301 Result of space() was larger than max_allowed_packet (4194304) - truncated select space(-4294967297); space(-4294967297) select space(4294967297); space(4294967297) NULL Warnings: Warning 1301 Result of space() was larger than max_allowed_packet (4194304) - truncated select space(-18446744073709551615); space(-18446744073709551615) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select space(18446744073709551615); space(18446744073709551615) NULL Warnings: Warning 1301 Result of space() was larger than max_allowed_packet (4194304) - truncated select space(-18446744073709551616); space(-18446744073709551616) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select space(18446744073709551616); space(18446744073709551616) NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1301 Result of space() was larger than max_allowed_packet (4194304) - truncated select space(-18446744073709551617); space(-18446744073709551617) Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select space(18446744073709551617); space(18446744073709551617) NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1301 Result of space() was larger than max_allowed_packet (4194304) - truncated select rpad('hello', -1, '1'); rpad('hello', -1, '1') NULL select rpad('hello', -4294967295, '1'); rpad('hello', -4294967295, '1') NULL select rpad('hello', 4294967295, '1'); rpad('hello', 4294967295, '1') NULL Warnings: Warning 1301 Result of rpad() was larger than max_allowed_packet (4194304) - truncated select rpad('hello', -4294967296, '1'); rpad('hello', -4294967296, '1') NULL select rpad('hello', 4294967296, '1'); rpad('hello', 4294967296, '1') NULL Warnings: Warning 1301 Result of rpad() was larger than max_allowed_packet (4194304) - truncated select rpad('hello', -4294967297, '1'); rpad('hello', -4294967297, '1') NULL select rpad('hello', 4294967297, '1'); rpad('hello', 4294967297, '1') NULL Warnings: Warning 1301 Result of rpad() was larger than max_allowed_packet (4194304) - truncated select rpad('hello', -18446744073709551615, '1'); rpad('hello', -18446744073709551615, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select rpad('hello', 18446744073709551615, '1'); rpad('hello', 18446744073709551615, '1') NULL Warnings: Warning 1301 Result of rpad() was larger than max_allowed_packet (4194304) - truncated select rpad('hello', -18446744073709551616, '1'); rpad('hello', -18446744073709551616, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select rpad('hello', 18446744073709551616, '1'); rpad('hello', 18446744073709551616, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1301 Result of rpad() was larger than max_allowed_packet (4194304) - truncated select rpad('hello', -18446744073709551617, '1'); rpad('hello', -18446744073709551617, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select rpad('hello', 18446744073709551617, '1'); rpad('hello', 18446744073709551617, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1301 Result of rpad() was larger than max_allowed_packet (4194304) - truncated select lpad('hello', -1, '1'); lpad('hello', -1, '1') NULL select lpad('hello', -4294967295, '1'); lpad('hello', -4294967295, '1') NULL select lpad('hello', 4294967295, '1'); lpad('hello', 4294967295, '1') NULL Warnings: Warning 1301 Result of lpad() was larger than max_allowed_packet (4194304) - truncated select lpad('hello', -4294967296, '1'); lpad('hello', -4294967296, '1') NULL select lpad('hello', 4294967296, '1'); lpad('hello', 4294967296, '1') NULL Warnings: Warning 1301 Result of lpad() was larger than max_allowed_packet (4194304) - truncated select lpad('hello', -4294967297, '1'); lpad('hello', -4294967297, '1') NULL select lpad('hello', 4294967297, '1'); lpad('hello', 4294967297, '1') NULL Warnings: Warning 1301 Result of lpad() was larger than max_allowed_packet (4194304) - truncated select lpad('hello', -18446744073709551615, '1'); lpad('hello', -18446744073709551615, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551615' select lpad('hello', 18446744073709551615, '1'); lpad('hello', 18446744073709551615, '1') NULL Warnings: Warning 1301 Result of lpad() was larger than max_allowed_packet (4194304) - truncated select lpad('hello', -18446744073709551616, '1'); lpad('hello', -18446744073709551616, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551616' select lpad('hello', 18446744073709551616, '1'); lpad('hello', 18446744073709551616, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551616' Warning 1301 Result of lpad() was larger than max_allowed_packet (4194304) - truncated select lpad('hello', -18446744073709551617, '1'); lpad('hello', -18446744073709551617, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '-18446744073709551617' select lpad('hello', 18446744073709551617, '1'); lpad('hello', 18446744073709551617, '1') NULL Warnings: Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1292 Truncated incorrect DECIMAL value: '18446744073709551617' Warning 1301 Result of lpad() was larger than max_allowed_packet (4194304) - truncated SET @orig_sql_mode = @@SQL_MODE; SET SQL_MODE=traditional; SELECT CHAR(0xff,0x8f USING utf8); CHAR(0xff,0x8f USING utf8) NULL Warnings: Warning 1300 Invalid utf8 character string: 'FF8F' SELECT CHAR(0xff,0x8f USING utf8) IS NULL; CHAR(0xff,0x8f USING utf8) IS NULL 1 Warnings: Warning 1300 Invalid utf8 character string: 'FF8F' SET SQL_MODE=@orig_sql_mode; select substring('abc', cast(2 as unsigned int)); substring('abc', cast(2 as unsigned int)) bc select repeat('a', cast(2 as unsigned int)); repeat('a', cast(2 as unsigned int)) aa select rpad('abc', cast(5 as unsigned integer), 'x'); rpad('abc', cast(5 as unsigned integer), 'x') abcxx select lpad('abc', cast(5 as unsigned integer), 'x'); lpad('abc', cast(5 as unsigned integer), 'x') xxabc create table t1(f1 longtext); insert into t1 values ("123"),("456"); select substring(f1,1,1) from t1 group by 1; substring(f1,1,1) 1 4 create table t2(f1 varchar(3)); insert into t1 values ("123"),("456"); select substring(f1,4,1), substring(f1,-4,1) from t2; substring(f1,4,1) substring(f1,-4,1) drop table t1,t2; DROP TABLE IF EXISTS t1; CREATE TABLE `t1` ( `id` varchar(20) NOT NULL, `tire` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`id`) ); INSERT INTO `t1` (`id`, `tire`) VALUES ('A', 0), ('B', 1),('C', 2); SELECT REPEAT( '#', tire ) AS A, REPEAT( '#', tire % 999 ) AS B, tire FROM `t1`; A B tire 0 # # 1 ## ## 2 SELECT REPEAT('0', CAST(0 AS UNSIGNED)); REPEAT('0', CAST(0 AS UNSIGNED)) SELECT REPEAT('0', -2); REPEAT('0', -2) SELECT REPEAT('0', 2); REPEAT('0', 2) 00 DROP TABLE t1; SELECT UNHEX('G'); UNHEX('G') NULL Warnings: Warning 1411 Incorrect string value: ''G'' for function unhex SELECT UNHEX('G') IS NULL; UNHEX('G') IS NULL 1 Warnings: Warning 1411 Incorrect string value: ''G'' for function unhex DO UNHEX(-1); Warnings: Warning 1411 Incorrect string value: '-(1)' for function unhex SHOW warnings; Level Code Message Warning 1411 Incorrect string value: '-(1)' for function unhex DO UNHEX(-182680438); Warnings: Warning 1411 Incorrect string value: '-(182680438)' for function unhex SHOW warnings; Level Code Message Warning 1411 Incorrect string value: '-(182680438)' for function unhex DO UNHEX(-2251799813685249); Warnings: Warning 1411 Incorrect string value: '-(2251799813685249)' for function unhex SHOW warnings; Level Code Message Warning 1411 Incorrect string value: '-(2251799813685249)' for function unhex select unhex('5078-04-25'); unhex('5078-04-25') NULL Warnings: Warning 1411 Incorrect string value: ''5078-04-25'' for function unhex SELECT INSERT('abc', 3, 3, '1234'); INSERT('abc', 3, 3, '1234') ab1234 SELECT INSERT('abc', 4, 3, '1234'); INSERT('abc', 4, 3, '1234') abc SELECT INSERT('abc', 5, 3, '1234'); INSERT('abc', 5, 3, '1234') abc SELECT INSERT('abc', 6, 3, '1234'); INSERT('abc', 6, 3, '1234') abc CREATE TABLE t1 (a INT); CREATE VIEW v1 AS SELECT CRC32(a) AS C FROM t1; INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10); SELECT CRC32(a), COUNT(*) FROM t1 GROUP BY 1; CRC32(a) COUNT(*) 450215437 1 498629140 1 1790921346 1 1842515611 1 2212294583 1 2226203566 1 2366072709 1 2707236321 1 4088798008 1 4194326291 1 SELECT CRC32(a), COUNT(*) FROM t1 GROUP BY 1 ORDER BY 1; CRC32(a) COUNT(*) 450215437 1 498629140 1 1790921346 1 1842515611 1 2212294583 1 2226203566 1 2366072709 1 2707236321 1 4088798008 1 4194326291 1 SELECT * FROM (SELECT CRC32(a) FROM t1) t2; CRC32(a) 2212294583 450215437 1842515611 4088798008 2226203566 498629140 1790921346 4194326291 2366072709 2707236321 CREATE TABLE t2 SELECT CRC32(a) FROM t1; desc t2; Field Type Null Key Default Extra CRC32(a) int(10) unsigned YES NULL SELECT * FROM v1; C 2212294583 450215437 1842515611 4088798008 2226203566 498629140 1790921346 4194326291 2366072709 2707236321 SELECT * FROM (SELECT * FROM v1) x; C 2212294583 450215437 1842515611 4088798008 2226203566 498629140 1790921346 4194326291 2366072709 2707236321 DROP TABLE t1, t2; DROP VIEW v1; SELECT LOCATE('foo', NULL) FROM DUAL; LOCATE('foo', NULL) NULL SELECT LOCATE(NULL, 'o') FROM DUAL; LOCATE(NULL, 'o') NULL SELECT LOCATE(NULL, NULL) FROM DUAL; LOCATE(NULL, NULL) NULL SELECT LOCATE('foo', NULL) IS NULL FROM DUAL; LOCATE('foo', NULL) IS NULL 1 SELECT LOCATE(NULL, 'o') IS NULL FROM DUAL; LOCATE(NULL, 'o') IS NULL 1 SELECT LOCATE(NULL, NULL) IS NULL FROM DUAL; LOCATE(NULL, NULL) IS NULL 1 SELECT ISNULL(LOCATE('foo', NULL)) FROM DUAL; ISNULL(LOCATE('foo', NULL)) 1 SELECT ISNULL(LOCATE(NULL, 'o')) FROM DUAL; ISNULL(LOCATE(NULL, 'o')) 1 SELECT ISNULL(LOCATE(NULL, NULL)) FROM DUAL; ISNULL(LOCATE(NULL, NULL)) 1 SELECT LOCATE('foo', NULL) <=> NULL FROM DUAL; LOCATE('foo', NULL) <=> NULL 1 SELECT LOCATE(NULL, 'o') <=> NULL FROM DUAL; LOCATE(NULL, 'o') <=> NULL 1 SELECT LOCATE(NULL, NULL) <=> NULL FROM DUAL; LOCATE(NULL, NULL) <=> NULL 1 CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, a varchar(10), p varchar(10)); INSERT INTO t1 VALUES (1, 'foo', 'o'); INSERT INTO t1 VALUES (2, 'foo', NULL); INSERT INTO t1 VALUES (3, NULL, 'o'); INSERT INTO t1 VALUES (4, NULL, NULL); SELECT id, LOCATE(a,p) FROM t1; id LOCATE(a,p) 1 0 2 NULL 3 NULL 4 NULL SELECT id, LOCATE(a,p) IS NULL FROM t1; id LOCATE(a,p) IS NULL 1 0 2 1 3 1 4 1 SELECT id, ISNULL(LOCATE(a,p)) FROM t1; id ISNULL(LOCATE(a,p)) 1 0 2 1 3 1 4 1 SELECT id, LOCATE(a,p) <=> NULL FROM t1; id LOCATE(a,p) <=> NULL 1 0 2 1 3 1 4 1 SELECT id FROM t1 WHERE LOCATE(a,p) IS NULL; id 2 3 4 SELECT id FROM t1 WHERE LOCATE(a,p) <=> NULL; id 2 3 4 DROP TABLE t1; SELECT SUBSTR('foo',1,0) FROM DUAL; SUBSTR('foo',1,0) SELECT SUBSTR('foo',1,CAST(0 AS SIGNED)) FROM DUAL; SUBSTR('foo',1,CAST(0 AS SIGNED)) SELECT SUBSTR('foo',1,CAST(0 AS UNSIGNED)) FROM DUAL; SUBSTR('foo',1,CAST(0 AS UNSIGNED)) CREATE TABLE t1 (a varchar(10), len int unsigned); INSERT INTO t1 VALUES ('bar', 2), ('foo', 0); SELECT SUBSTR(a,1,len) FROM t1; SUBSTR(a,1,len) ba DROP TABLE t1; CREATE TABLE t1 AS SELECT CHAR(0x414243) as c1; SELECT HEX(c1) from t1; HEX(c1) 414243 DROP TABLE t1; CREATE VIEW v1 AS SELECT CHAR(0x414243) as c1; SELECT HEX(c1) from v1; HEX(c1) 414243 DROP VIEW v1; create table t1(a float); insert into t1 values (1.33); select format(a, 2) from t1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def format(a, 2) 253 49 4 Y 0 31 8 format(a, 2) 1.33 drop table t1; CREATE TABLE t1 (c DATE, aa VARCHAR(30)); INSERT INTO t1 VALUES ('2008-12-31','aaaaaa'); SELECT DATE_FORMAT(c, GET_FORMAT(DATE, 'eur')) h, CONCAT(UPPER(aa),', ', aa) i FROM t1; h i 31.12.2008 AAAAAA, aaaaaa DROP TABLE t1; # # BUG#44774: load_file function produces valgrind warnings # CREATE TABLE t1 (a TINYBLOB); INSERT INTO t1 VALUES ('aaaaaaaa'); SELECT LOAD_FILE(a) FROM t1; LOAD_FILE(a) NULL DROP TABLE t1; CREATE TABLE t1 (f2 VARCHAR(20)); CREATE TABLE t2 (f2 VARCHAR(20)); INSERT INTO t1 VALUES ('MIN'),('MAX'); INSERT INTO t2 VALUES ('LOAD'); SELECT CONCAT_WS('_', (SELECT t2.f2 FROM t2), t1.f2) AS concat_name FROM t1; concat_name LOAD_MIN LOAD_MAX DROP TABLE t1, t2; End of 5.0 tests drop table if exists t1; create table t1(f1 tinyint default null)engine=myisam; insert into t1 values (-1),(null); explain select 1 as a from t1,(select decode(f1,f1) as b from t1) a; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 NULL 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 Using join buffer (Block Nested Loop) Warnings: Note 1003 /* select#1 */ select 1 AS `a` from `test`.`t1` join `test`.`t1` explain select 1 as a from t1,(select encode(f1,f1) as b from t1) a; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 NULL 1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 2 100.00 Using join buffer (Block Nested Loop) Warnings: Note 1003 /* select#1 */ select 1 AS `a` from `test`.`t1` join `test`.`t1` drop table t1; # # Bug#49141: Encode function is significantly slower in 5.1 compared to 5.0 # DROP TABLE IF EXISTS t1, t2; CREATE TABLE t1 (a VARCHAR(20), b INT); CREATE TABLE t2 (a VARCHAR(20), b INT); INSERT INTO t1 VALUES ('ABC', 1); INSERT INTO t2 VALUES ('ABC', 1); SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b; DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) secret Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b; DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) secret Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC') FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b; DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC') secret Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead TRUNCATE TABLE t1; TRUNCATE TABLE t2; INSERT INTO t1 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1); INSERT INTO t2 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1); SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a) FROM t2 WHERE t2.b = 1 GROUP BY t2.b; DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a) secret Warnings: Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead Warning 1287 'ENCODE' is deprecated and will be removed in a future release. Please use AES_ENCRYPT instead Warning 1287 'DECODE' is deprecated and will be removed in a future release. Please use AES_DECRYPT instead DROP TABLE t1, t2; # # Bug#52164 Assertion failed: param.sort_length, file .\filesort.cc, line 149 # CREATE TABLE t1 (a LONGBLOB NOT NULL); INSERT INTO t1 VALUES (''),(''); SELECT 1 FROM t1, t1 t2 ORDER BY QUOTE(t1.a); 1 1 1 1 1 DROP TABLE t1; # # Bug#57913 large negative number to string conversion functions crash # Bug#57810 case/when/then : Assertion failed: length || !scale # SELECT '1' IN ('1', SUBSTRING(-9223372036854775809, 1)); '1' IN ('1', SUBSTRING(-9223372036854775809, 1)) 1 SELECT CONVERT(('' IN (REVERSE(CAST(('') AS DECIMAL)), '')), CHAR(3)); CONVERT(('' IN (REVERSE(CAST(('') AS DECIMAL)), '')), CHAR(3)) 1 Warnings: Warning 1292 Truncated incorrect DECIMAL value: '' # # Bug#58165: "my_empty_string" gets modified and causes LOAD DATA to fail # and other crashes # CREATE TABLE t1 ( a TEXT ); SELECT 'aaaaaaaaaaaaaa' INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug58165.txt';; SELECT insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' ); insert( substring_index( 'a', 'a', 'b' ), 1, 0, 'x' ) Warnings: Warning 1292 Truncated incorrect INTEGER value: 'b' LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug58165.txt' INTO TABLE t1;; SELECT * FROM t1; a aaaaaaaaaaaaaa DROP TABLE t1; # # Bug#12634989 VALGRIND WARNING ABOUT UNINITIALIZED VALUES CREATED IN ITEM_FUNC_DAYOFMONTH # SELECT SUBSTRING('1', DAY(FROM_UNIXTIME(-1))); SUBSTRING('1', DAY(FROM_UNIXTIME(-1))) NULL SELECT LEFT('1', DAY(FROM_UNIXTIME(-1))); LEFT('1', DAY(FROM_UNIXTIME(-1))) NULL SELECT RIGHT('1', DAY(FROM_UNIXTIME(-1))); RIGHT('1', DAY(FROM_UNIXTIME(-1))) NULL SELECT REPEAT('1', DAY(FROM_UNIXTIME(-1))); REPEAT('1', DAY(FROM_UNIXTIME(-1))) NULL SELECT RPAD('hi', DAY(FROM_UNIXTIME(-1)),'?'); RPAD('hi', DAY(FROM_UNIXTIME(-1)),'?') NULL SELECT LPAD('hi', DAY(FROM_UNIXTIME(-1)),'?'); LPAD('hi', DAY(FROM_UNIXTIME(-1)),'?') NULL CREATE TABLE t1 SELECT SUBSTRING('1', DAY(FROM_UNIXTIME(-1))) AS f1, LEFT('1', DAY(FROM_UNIXTIME(-1))) AS f2, RIGHT('1', DAY(FROM_UNIXTIME(-1))) AS f3, REPEAT('1', DAY(FROM_UNIXTIME(-1))) AS f4, RPAD('hi', DAY(FROM_UNIXTIME(-1)),'?') AS f5, LPAD('hi', DAY(FROM_UNIXTIME(-1)),'?') AS f6; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `f1` varchar(1) DEFAULT NULL, `f2` varchar(1) DEFAULT NULL, `f3` varchar(1) DEFAULT NULL, `f4` longtext, `f5` longtext, `f6` longtext ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; # # Bug#11766684 59851: UNINITIALISED VALUE IN ITEM_FUNC_LIKE::SELECT_OPTIMIZE WITH SUBQUERY AND # CREATE TABLE t2(a INT, KEY(a)); INSERT INTO t2 VALUES (1),(2); CREATE TABLE t1(b INT, PRIMARY KEY(b)); INSERT INTO t1 VALUES (0),(254); SELECT 1 FROM t2 WHERE a LIKE (SELECT EXPORT_SET(1, b, b, b, b) FROM t1 LIMIT 1); 1 DROP TABLE t1, t2; End of 5.1 tests Start of 5.4 tests SELECT format(12345678901234567890.123, 3); format(12345678901234567890.123, 3) 12,345,678,901,234,567,890.123 SELECT format(12345678901234567890.123, 3, NULL); format(12345678901234567890.123, 3, NULL) 12,345,678,901,234,567,890.123 Warnings: Warning 1649 Unknown locale: 'NULL' SELECT format(12345678901234567890.123, 3, 'ar_AE'); format(12345678901234567890.123, 3, 'ar_AE') 12,345,678,901,234,567,890.123 SELECT format(12345678901234567890.123, 3, 'ar_SA'); format(12345678901234567890.123, 3, 'ar_SA') 12345678901234567890.123 SELECT format(12345678901234567890.123, 3, 'be_BY'); format(12345678901234567890.123, 3, 'be_BY') 12.345.678.901.234.567.890,123 SELECT format(12345678901234567890.123, 3, 'de_DE'); format(12345678901234567890.123, 3, 'de_DE') 12.345.678.901.234.567.890,123 SELECT format(12345678901234567890.123, 3, 'en_IN'); format(12345678901234567890.123, 3, 'en_IN') 1,23,45,67,89,01,23,45,67,890.123 SELECT format(12345678901234567890.123, 3, 'en_US'); format(12345678901234567890.123, 3, 'en_US') 12,345,678,901,234,567,890.123 SELECT format(12345678901234567890.123, 3, 'it_CH'); format(12345678901234567890.123, 3, 'it_CH') 12'345'678'901'234'567'890,123 SELECT format(12345678901234567890.123, 3, 'ru_RU'); format(12345678901234567890.123, 3, 'ru_RU') 12 345 678 901 234 567 890,123 SELECT format(12345678901234567890.123, 3, 'ta_IN'); format(12345678901234567890.123, 3, 'ta_IN') 1,23,45,67,89,01,23,45,67,890.123 CREATE TABLE t1 (fmt CHAR(5) NOT NULL); INSERT INTO t1 VALUES ('ar_AE'); INSERT INTO t1 VALUES ('ar_SA'); INSERT INTO t1 VALUES ('be_BY'); INSERT INTO t1 VALUES ('de_DE'); INSERT INTO t1 VALUES ('en_IN'); INSERT INTO t1 VALUES ('en_US'); INSERT INTO t1 VALUES ('it_CH'); INSERT INTO t1 VALUES ('ru_RU'); INSERT INTO t1 VALUES ('ta_IN'); SELECT fmt, format(12345678901234567890.123, 3, fmt) FROM t1 ORDER BY fmt; fmt format(12345678901234567890.123, 3, fmt) ar_AE 12,345,678,901,234,567,890.123 ar_SA 12345678901234567890.123 be_BY 12.345.678.901.234.567.890,123 de_DE 12.345.678.901.234.567.890,123 en_IN 1,23,45,67,89,01,23,45,67,890.123 en_US 12,345,678,901,234,567,890.123 it_CH 12'345'678'901'234'567'890,123 ru_RU 12 345 678 901 234 567 890,123 ta_IN 1,23,45,67,89,01,23,45,67,890.123 SELECT fmt, format(12345678901234567890.123, 0, fmt) FROM t1 ORDER BY fmt; fmt format(12345678901234567890.123, 0, fmt) ar_AE 12,345,678,901,234,567,890 ar_SA 12345678901234567890 be_BY 12.345.678.901.234.567.890 de_DE 12.345.678.901.234.567.890 en_IN 1,23,45,67,89,01,23,45,67,890 en_US 12,345,678,901,234,567,890 it_CH 12'345'678'901'234'567'890 ru_RU 12 345 678 901 234 567 890 ta_IN 1,23,45,67,89,01,23,45,67,890 SELECT fmt, format(12345678901234567890, 3, fmt) FROM t1 ORDER BY fmt; fmt format(12345678901234567890, 3, fmt) ar_AE 12,345,678,901,234,567,890.000 ar_SA 12345678901234567890.000 be_BY 12.345.678.901.234.567.890,000 de_DE 12.345.678.901.234.567.890,000 en_IN 1,23,45,67,89,01,23,45,67,890.000 en_US 12,345,678,901,234,567,890.000 it_CH 12'345'678'901'234'567'890,000 ru_RU 12 345 678 901 234 567 890,000 ta_IN 1,23,45,67,89,01,23,45,67,890.000 SELECT fmt, format(-12345678901234567890, 3, fmt) FROM t1 ORDER BY fmt; fmt format(-12345678901234567890, 3, fmt) ar_AE -12,345,678,901,234,567,890.000 ar_SA -12345678901234567890.000 be_BY -12.345.678.901.234.567.890,000 de_DE -12.345.678.901.234.567.890,000 en_IN -1,23,45,67,89,01,23,45,67,890.000 en_US -12,345,678,901,234,567,890.000 it_CH -12'345'678'901'234'567'890,000 ru_RU -12 345 678 901 234 567 890,000 ta_IN -1,23,45,67,89,01,23,45,67,890.000 SELECT fmt, format(-02345678901234567890, 3, fmt) FROM t1 ORDER BY fmt; fmt format(-02345678901234567890, 3, fmt) ar_AE -2,345,678,901,234,567,890.000 ar_SA -2345678901234567890.000 be_BY -2.345.678.901.234.567.890,000 de_DE -2.345.678.901.234.567.890,000 en_IN -23,45,67,89,01,23,45,67,890.000 en_US -2,345,678,901,234,567,890.000 it_CH -2'345'678'901'234'567'890,000 ru_RU -2 345 678 901 234 567 890,000 ta_IN -23,45,67,89,01,23,45,67,890.000 SELECT fmt, format(-00345678901234567890, 3, fmt) FROM t1 ORDER BY fmt; fmt format(-00345678901234567890, 3, fmt) ar_AE -345,678,901,234,567,890.000 ar_SA -345678901234567890.000 be_BY -345.678.901.234.567.890,000 de_DE -345.678.901.234.567.890,000 en_IN -3,45,67,89,01,23,45,67,890.000 en_US -345,678,901,234,567,890.000 it_CH -345'678'901'234'567'890,000 ru_RU -345 678 901 234 567 890,000 ta_IN -3,45,67,89,01,23,45,67,890.000 SELECT fmt, format(-00045678901234567890, 3, fmt) FROM t1 ORDER BY fmt; fmt format(-00045678901234567890, 3, fmt) ar_AE -45,678,901,234,567,890.000 ar_SA -45678901234567890.000 be_BY -45.678.901.234.567.890,000 de_DE -45.678.901.234.567.890,000 en_IN -45,67,89,01,23,45,67,890.000 en_US -45,678,901,234,567,890.000 it_CH -45'678'901'234'567'890,000 ru_RU -45 678 901 234 567 890,000 ta_IN -45,67,89,01,23,45,67,890.000 DROP TABLE t1; SELECT format(123, 1, 'Non-existent-locale'); format(123, 1, 'Non-existent-locale') 123.0 Warnings: Warning 1649 Unknown locale: 'Non-existent-locale' End of 5.4 tests # # Start of 5.5 tests # # # Bug#55912 FORMAT with locale set fails for numbers < 1000 # SELECT FORMAT(123.33, 2, 'no_NO'), FORMAT(1123.33, 2, 'no_NO'); FORMAT(123.33, 2, 'no_NO') FORMAT(1123.33, 2, 'no_NO') 123,33 1.123,33 SELECT FORMAT(12333e-2, 2, 'no_NO'), FORMAT(112333e-2, 2, 'no_NO'); FORMAT(12333e-2, 2, 'no_NO') FORMAT(112333e-2, 2, 'no_NO') 123,33 1.123,33 CREATE TABLE t1 AS SELECT format(123,2,'no_NO'); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `format(123,2,'no_NO')` varchar(37) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT * FROM t1; format(123,2,'no_NO') 123,00 DROP TABLE t1; # # Bug#11764310 conv function crashes, negative argument to memcpy # SELECT CONV(1,-2147483648,-2147483648); CONV(1,-2147483648,-2147483648) NULL # # Bug#12985030 SIMPLE QUERY WITH DECIMAL NUMBERS LEAKS MEMORY # SELECT (rpad(1.0,2048,1)) IS NOT FALSE; (rpad(1.0,2048,1)) IS NOT FALSE 1 SELECT ((+0) IN ((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)), (32767.1))); ((+0) IN ((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)), (32767.1))) 0 SELECT ((rpad(1.0,2048,1)) = ('4(') ^ (0.1)); ((rpad(1.0,2048,1)) = ('4(') ^ (0.1)) 0 Warnings: Warning 1292 Truncated incorrect INTEGER value: '4(' SELECT pow((rpad(10.0,2048,1)),(b'1111111111111111111111111111111111111111111')); ERROR 22003: DOUBLE value is out of range in 'pow(rpad(10.0,2048,1),0x07ffffffffff)' SELECT ((rpad(1.0,2048,1)) + (0) ^ ('../')); ((rpad(1.0,2048,1)) + (0) ^ ('../')) 1.011111111111111 Warnings: Warning 1292 Truncated incorrect INTEGER value: '../' SELECT stddev_samp(rpad(1.0,2048,1)); stddev_samp(rpad(1.0,2048,1)) NULL SELECT ((127.1) not in ((rpad(1.0,2048,1)),(''),(-1.1))); ((127.1) not in ((rpad(1.0,2048,1)),(''),(-1.1))) 1 SELECT ((0xf3) * (rpad(1.0,2048,1)) << (0xcc)); ((0xf3) * (rpad(1.0,2048,1)) << (0xcc)) 0 # # Bug#13359121 LARGE NUMBERS, /STRINGS/DTOA.C:662: # BALLOC: ASSERTION `K <= 15' FAILED. # Bug#12985021 SIMPLE QUERY WITH DECIMAL NUMBERS TAKE AN # EXTRAORDINARY LONG TIME TO EXECUTE SELECT @tmp_max:= @@global.max_allowed_packet; @tmp_max:= @@global.max_allowed_packet 4194304 SET @@global.max_allowed_packet=1024*1024*1024; SELECT @@global.max_allowed_packet; @@global.max_allowed_packet 1073741824 do format(rpad('111111111.1', 1111111, '999999999999999999999999999999999999999999'),0,'be_BY') ; DO round( concat( ( coalesce( ( ST_linefromwkb('2147483648', -b'1111111111111111111111111111111111111111111')), ( convert('[.DC2.]',decimal(30,30)) ), bit_count('') ) ), ( lpad( ( elt('01','}:K5')), sha1('P'), ( ( select '-9223372036854775808.1' > all (select ''))) ) ) ) ); ERROR 22023: Invalid GIS data provided to function st_geometryfromwkb. SET @@global.max_allowed_packet:= @tmp_max; # # End of 5.5 tests # # # Start of 5.6 tests # # # WL#5510 Functions to_base64 and from_base64 # CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',63)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(85) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh YWFhYWFh 85 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(63) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 63 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',62)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(85) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh YWFhYWE= 85 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(63) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 62 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',61)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(85) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh YWFhYQ== 85 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(63) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 61 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',60)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(81) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh YWFh 81 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(60) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 60 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',59)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(81) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh YWE= 81 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(60) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 59 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',58)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(81) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh YQ== 81 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(60) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 58 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',57)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(76) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 76 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(57) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 57 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',56)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(76) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 76 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(57) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 56 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',55)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(76) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 76 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(57) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 55 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',54)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(72) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 72 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(54) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 54 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',53)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(72) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 72 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(54) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 53 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',52)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(72) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 72 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(54) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 52 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',51)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(68) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 68 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(51) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 51 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',50)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(68) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 68 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(51) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 50 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',49)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(68) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 68 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(51) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 49 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',48)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(64) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 64 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(48) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 48 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',47)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(64) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 64 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(48) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 47 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',46)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(64) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 64 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(48) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 46 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',45)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(60) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 60 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(45) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 45 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',44)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(60) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 60 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(45) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 44 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',43)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(60) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 60 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(45) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 43 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',42)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(56) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 56 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(42) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 42 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',41)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(56) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 56 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(42) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 41 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',40)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(56) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 56 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(42) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 40 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',39)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(52) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 52 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(39) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 39 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',38)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(52) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 52 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(39) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 38 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',37)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(52) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 52 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(39) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 37 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',36)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(48) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 48 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(36) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 36 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',35)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(48) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 48 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(36) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 35 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',34)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(48) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 48 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(36) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 34 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',33)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(44) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 44 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(33) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 33 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',32)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(44) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 44 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(33) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 32 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',31)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(44) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 44 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(33) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 31 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',30)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(40) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 40 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(30) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 30 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',29)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(40) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 40 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(30) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaaa 29 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',28)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(40) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 40 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(30) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaaa 28 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',27)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(36) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 36 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(27) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaaa 27 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',26)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(36) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 36 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(27) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaaa 26 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',25)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(36) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 36 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(27) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaaa 25 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',24)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(32) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh 32 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(24) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaaa 24 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',23)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(32) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE= 32 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(24) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaaa 23 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',22)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(32) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ== 32 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(24) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaaa 22 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',21)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(28) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWFh 28 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(21) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaaa 21 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',20)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(28) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYWE= 28 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(21) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaaa 20 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',19)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(28) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFhYQ== 28 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(21) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaaa 19 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',18)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(24) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWFh 24 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(18) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaaa 18 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',17)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(24) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYWE= 24 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(18) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaaa 17 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',16)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(24) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFhYQ== 24 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(18) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaaa 16 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',15)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(20) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWFh 20 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(15) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaaa 15 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',14)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(20) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYWE= 20 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(15) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaaa 14 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',13)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(20) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFhYQ== 20 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(15) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaaa 13 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',12)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(16) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWFh 16 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(12) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaaa 12 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',11)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(16) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYWE= 16 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(12) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaaa 11 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',10)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(16) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFhYQ== 16 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(12) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaaa 10 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',9)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(12) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWFh 12 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(9) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaaa 9 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',8)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(12) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYWE= 12 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(9) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaaa 8 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',7)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(12) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFhYQ== 12 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(9) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaaa 7 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',6)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(8) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWFh 8 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(6) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaaa 6 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',5)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(8) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYWE= 8 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(6) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaaa 5 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',4)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(8) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFhYQ== 8 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(6) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaaa 4 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',3)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(4) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWFh 4 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(3) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aaa 3 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',2)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(4) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YWE= 4 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(3) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) aa 2 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',1)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` varchar(4) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) YQ== 4 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` varbinary(3) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) a 1 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 AS SELECT TO_BASE64(REPEAT('a',0)) AS to_base64; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `to_base64` char(0) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT to_base64, LENGTH(to_base64) FROM t1; to_base64 LENGTH(to_base64) 0 CREATE TABLE t2 AS SELECT from_base64(to_base64) AS from_base64 FROM t1; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( `from_base64` binary(0) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 SELECT from_base64, LENGTH(from_base64) FROM t2; from_base64 LENGTH(from_base64) 0 DROP TABLE t2; DROP TABLE t1; CREATE TABLE t1 (a VARBINARY(64)); INSERT INTO t1 VALUES (0x00), (0x0000), (0x000000), (0x00000000); INSERT INTO t1 VALUES (0x00010203040506070809); SELECT TO_BASE64(a), hex(a) FROM t1 ORDER BY a; TO_BASE64(a) hex(a) AA== 00 AAA= 0000 AAAA 000000 AAAAAA== 00000000 AAECAwQFBgcICQ== 00010203040506070809 DROP TABLE t1; # # Test NULL output for NULL input # SELECT TO_BASE64(NULL); TO_BASE64(NULL) NULL SELECT FROM_BASE64(NULL); FROM_BASE64(NULL) NULL # # RFC4648 test vectors # SELECT @b:= TO_BASE64(''), FROM_BASE64(@b); @b:= TO_BASE64('') FROM_BASE64(@b) SELECT @b:= TO_BASE64('f'), FROM_BASE64(@b); @b:= TO_BASE64('f') FROM_BASE64(@b) Zg== f SELECT @b:= TO_BASE64('fo'), FROM_BASE64(@b); @b:= TO_BASE64('fo') FROM_BASE64(@b) Zm8= fo SELECT @b:= TO_BASE64('foo'), FROM_BASE64(@b); @b:= TO_BASE64('foo') FROM_BASE64(@b) Zm9v foo SELECT @b:= TO_BASE64('foob'), FROM_BASE64(@b); @b:= TO_BASE64('foob') FROM_BASE64(@b) Zm9vYg== foob SELECT @b:= TO_BASE64('fooba'), FROM_BASE64(@b); @b:= TO_BASE64('fooba') FROM_BASE64(@b) Zm9vYmE= fooba SELECT @b:= TO_BASE64('foobar'), FROM_BASE64(@b); @b:= TO_BASE64('foobar') FROM_BASE64(@b) Zm9vYmFy foobar # # Invalid characters - return NULL # SELECT hex(FROM_BASE64('#')); hex(FROM_BASE64('#')) NULL SELECT hex(FROM_BASE64('A#')); hex(FROM_BASE64('A#')) NULL SELECT hex(FROM_BASE64('AB#')); hex(FROM_BASE64('AB#')) NULL SELECT hex(FROM_BASE64('ABC#')); hex(FROM_BASE64('ABC#')) NULL SELECT hex(FROM_BASE64('ABCD#')); hex(FROM_BASE64('ABCD#')) NULL # # "=" is not valid on the first and second positions of a quadruple # SELECT hex(FROM_BASE64('=')); hex(FROM_BASE64('=')) NULL SELECT hex(FROM_BASE64('A=')); hex(FROM_BASE64('A=')) NULL SELECT hex(FROM_BASE64('ABCD=')); hex(FROM_BASE64('ABCD=')) NULL SELECT hex(FROM_BASE64('ABCDE=')); hex(FROM_BASE64('ABCDE=')) NULL # # Incomplete sequences - return NULL # SELECT hex(FROM_BASE64('A')); hex(FROM_BASE64('A')) NULL SELECT hex(FROM_BASE64('AB')); hex(FROM_BASE64('AB')) NULL SELECT hex(FROM_BASE64('ABC')); hex(FROM_BASE64('ABC')) NULL # # Unexpected input after pad characters - return NULL # SELECT hex(FROM_BASE64('AAA=x')); hex(FROM_BASE64('AAA=x')) NULL SELECT hex(FROM_BASE64('AA==x')); hex(FROM_BASE64('AA==x')) NULL # # Delimiters are allowed at any position # SELECT hex(FROM_BASE64(' A B C D ')); hex(FROM_BASE64(' A B C D ')) 001083 SELECT hex(FROM_BASE64(' A A = = ')); hex(FROM_BASE64(' A A = = ')) 00 SELECT hex(FROM_BASE64(' A A A = ')); hex(FROM_BASE64(' A A A = ')) 0000 SELECT hex(FROM_BASE64(' A \n B \r C \t D ')); hex(FROM_BASE64(' A \n B \r C \t D ')) 001083 # # Testing that to_base64 respects max_allowed_packet # SELECT LENGTH(TO_BASE64(REPEAT('a', @@max_allowed_packet-10))); LENGTH(TO_BASE64(REPEAT('a', @@max_allowed_packet-10))) NULL Warnings: Warning 1301 Result of to_base64() was larger than max_allowed_packet (4194304) - truncated # # Testing base64 with various data types # CREATE TABLE t1 ( i1 INT, f1 FLOAT, dc1 DECIMAL(10,5), e1 ENUM('enum11','enum12','enum13'), s1 SET('set1','set2','set3'), t1 TIME, d1 DATE, dt1 DATETIME ); INSERT INTO t1 VALUES (-12345, -456.789, 123.45, 'enum13', 'set1,set3', '01:02:03', '2010-01-01', '2011-01-01 02:03:04'); SELECT FROM_BASE64(TO_BASE64(i1)) FROM t1; FROM_BASE64(TO_BASE64(i1)) -12345 SELECT FROM_BASE64(TO_BASE64(f1)) FROM t1; FROM_BASE64(TO_BASE64(f1)) -456.789 SELECT FROM_BASE64(TO_BASE64(dc1)) FROM t1; FROM_BASE64(TO_BASE64(dc1)) 123.45000 SELECT FROM_BASE64(TO_BASE64(e1)) FROM t1; FROM_BASE64(TO_BASE64(e1)) enum13 SELECT FROM_BASE64(TO_BASE64(s1)) FROM t1; FROM_BASE64(TO_BASE64(s1)) set1,set3 SELECT FROM_BASE64(TO_BASE64(t1)) FROM t1; FROM_BASE64(TO_BASE64(t1)) 01:02:03 SELECT FROM_BASE64(TO_BASE64(d1)) FROM t1; FROM_BASE64(TO_BASE64(d1)) 2010-01-01 SELECT FROM_BASE64(TO_BASE64(dt1)) FROM t1; FROM_BASE64(TO_BASE64(dt1)) 2011-01-01 02:03:04 DROP TABLE t1; # # Bug#11765562 58545: # EXPORT_SET() CAN BE USED TO MAKE ENTIRE SERVER COMPLETELY UNRESPONSIVE # SELECT @tmp_max:= @@global.max_allowed_packet; @tmp_max:= @@global.max_allowed_packet 4194304 SET @@global.max_allowed_packet=1024*1024*1024; SELECT @@global.max_allowed_packet; @@global.max_allowed_packet 1073741824 SELECT CHAR_LENGTH(EXPORT_SET(1,1,1,REPEAT(1,100000000))); CHAR_LENGTH(EXPORT_SET(1,1,1,REPEAT(1,100000000))) NULL Warnings: Warning 1301 Result of export_set() was larger than max_allowed_packet (1073741824) - truncated SET @@global.max_allowed_packet:= @tmp_max; SELECT SPACE(@@global.max_allowed_packet*2); SPACE(@@global.max_allowed_packet*2) NULL Warnings: Warning 1301 Result of space() was larger than max_allowed_packet (4194304) - truncated SET NAMES latin1; PREPARE stmt FROM "SELECT COLLATION(space(2))"; EXECUTE stmt; COLLATION(space(2)) latin1_swedish_ci SET NAMES latin2; EXECUTE stmt; COLLATION(space(2)) latin2_general_ci # # Bug#11829861: SUBSTRING_INDEX() RESULTS IN MISSING CHARACTERS WHEN USED # INSIDE LOWER() # SET @user_at_host = 'root@mytinyhost-PC.local'; SELECT LOWER(SUBSTRING_INDEX(@user_at_host, '@', -1)); LOWER(SUBSTRING_INDEX(@user_at_host, '@', -1)) mytinyhost-pc.local # End of test BUG#11829861 # # Bug#42404: SUBSTRING_INDEX() RESULTS ARE INCONSISTENT # CREATE TABLE t (i INT NOT NULL, c CHAR(255) NOT NULL); INSERT INTO t VALUES (0,'.www.mysql.com'),(1,'.wwwmysqlcom'); SELECT i, SUBSTRING_INDEX(c, '.', -2) FROM t WHERE i = 1; i SUBSTRING_INDEX(c, '.', -2) 1 .wwwmysqlcom SELECT i, SUBSTRING_INDEX(c, '.', -2) FROM t; i SUBSTRING_INDEX(c, '.', -2) 0 mysql.com 1 .wwwmysqlcom DROP TABLE t; # End of test BUG#42404 # # Bug#13812875 ILLEGAL MIX OF COLLATIONS WITH FUNCTIONS THAT USED TO WORK # SET NAMES utf8; CREATE TABLE t1 (a varchar(1)); SELECT * FROM t1 WHERE a=md5('a'); a SELECT * FROM t1 WHERE a=hex('a'); a SELECT * FROM t1 WHERE a=to_base64('a'); a DROP TABLE t1; SET NAMES latin1; # # Bug #11765149 DUPLICATE ENTRY ERROR WHEN DOING GROUP BY # create table t1(a varchar(20)); insert into t1 values(''), (' '), ('xxxxxxxxxxxxxxx'); create table t2(a int); insert into t2 values(0),(0),(1),(0),(10),(-2),(30),(NULL); select t1.a as str, length(t1.a) as str_length, t2.a as pos, t2.a + 10 as length, insert(t1.a, t2.a, t2.a + 10, '1234567') as 'insert' from t1, t2; str str_length pos length insert 0 0 10 1 0 10 xxxxxxxxxxxxxxx 15 0 10 xxxxxxxxxxxxxxx 0 0 10 1 0 10 xxxxxxxxxxxxxxx 15 0 10 xxxxxxxxxxxxxxx 0 1 11 1 1 11 1234567 xxxxxxxxxxxxxxx 15 1 11 1234567xxxx 0 0 10 1 0 10 xxxxxxxxxxxxxxx 15 0 10 xxxxxxxxxxxxxxx 0 10 20 1 10 20 xxxxxxxxxxxxxxx 15 10 20 xxxxxxxxx1234567 0 -2 8 1 -2 8 xxxxxxxxxxxxxxx 15 -2 8 xxxxxxxxxxxxxxx 0 30 40 1 30 40 xxxxxxxxxxxxxxx 15 30 40 xxxxxxxxxxxxxxx 0 NULL NULL NULL 1 NULL NULL NULL xxxxxxxxxxxxxxx 15 NULL NULL NULL drop table t1,t2; # # Bug #19174480: INSERT STRING FUNCTIONS RECENTLY CRASHING # CREATE TABLE t1(a TIMESTAMP(5)) ENGINE=INNODB; INSERT INTO t1 VALUES('1978-01-03 00:00:00'),('2000-001-02 00:00:00'); SELECT 1 FROM t1 GROUP BY insert(a,'1','11','1'); 1 1 SELECT insert(a,1,1,1) FROM t1; insert(a,1,1,1) 1978-01-03 00:00:00.00000 1000-01-02 00:00:00.00000 DROP TABLE t1; # # Bug#22888420 CONCAT_WS: ASSERTION FAILED: !S.USES_BUFFER_OWNED_BY(THIS) # do concat('a',concat_ws('a', 0x2859, 'a' , trim(period_add('a',1) from (1&'')) ) ); Warnings: Warning 1292 Truncated incorrect INTEGER value: '' Warning 1292 Truncated incorrect INTEGER value: 'a' # # End of 5.6 tests # # # Bug#19646643 REPEAT() WASTES CPU TIME ON LARGE INPUT VALUES # THAT GAURANTEE EMPTY RESULT # SET @@global.max_allowed_packet=1024*1024; connect newconn, localhost, root,,; select length(repeat("",1)) as a; a 0 select length(repeat("",1024*1024*1024)) as a; a 0 select length(repeat("1",1024*1024)) as a; a 1048576 select length(repeat("1",1024*1024*1024)) as a; a NULL Warnings: Warning 1301 Result of repeat() was larger than max_allowed_packet (1048576) - truncated disconnect newconn; connection default; SET @@global.max_allowed_packet:= DEFAULT; # # Bug#20316028 RPAD + UTF16 ON X86 BUILD RUNNING ON WIN64 STACK # EXPLOITABLE do rpad(_utf16"33",1073741826,_latin1"44"); Warnings: Warning 1301 Result of rpad() was larger than max_allowed_packet (4194304) - truncated # # Bug#13740934 ASSERTION FAILED: ARGS[0]->FIXED ITEM_FUNC_CONV_CHARSET::ITEM_FUNC_CONV_CHARSET # CREATE TABLE t1(a TIME); INSERT INTO t1 VALUES (); SELECT (SELECT (SELECT 1 FROM t1 a WHERE t1.a <_ucs2'a')) AS d5 FROM t1 GROUP BY 1; d5 NULL DROP TABLE t1; # # Bug#21317406 TRUNCATED DATA WITH SUBQUERY & UTF8 # SELECT length(rpad(_utf8 0xD0B1, 65536, _utf8 0xD0B2)) AS data; data 131072 SELECT length(data) AS len FROM ( SELECT rpad(_utf8 0xD0B1, 65536, _utf8 0xD0B2) AS data ) AS sub; len 131072 SELECT length(rpad(_utf8 0xD0B1, 65535, _utf8 0xD0B2)) AS data; data 131070 SELECT length(data) AS len FROM ( SELECT rpad(_utf8 0xD0B1, 65535, _utf8 0xD0B2) AS data ) AS sub; len 131070 SELECT length(repeat(_utf8mb4 0xE29883, 21844)) AS data; data 65532 SELECT length(data) AS len FROM ( SELECT repeat(_utf8mb4 0xE29883, 21844) AS data ) AS sub; len 65532 SELECT length(repeat(_utf8mb4 0xE29883, 21846)) AS data; data 65538 SELECT length(data) AS len FROM ( SELECT repeat(_utf8mb4 0xE29883, 21846) AS data ) AS sub; len 65538 # # Bug #22884187 RTRIM GETS EXPONENTIALLY SLOWER ON LARGE STRINGS # set names utf8; SELECT TRIM(BOTH 'å' FROM 'aæaå'); TRIM(BOTH 'å' FROM 'aæaå') aæa set names default; SELECT HEX(TRIM(CONVERT(_gb18030 0x20202081408141208144202020 USING utf32))); HEX(TRIM(CONVERT(_gb18030 0x20202081408141208144202020 USING utf32))) 00004E0200004E040000002000004E0F # # Bug#21447969 FILTER USING TRIM RESULTS IN CORRECT # CREATE TABLE t1 (COUNTRY char(100)); INSERT INTO t1 VALUES ("Norway"), ("Australia"); SELECT COUNTRY FROM t1 WHERE trim(leading 'A' FROM COUNTRY) = 'ustralia'; COUNTRY Australia SELECT COUNTRY FROM t1 WHERE trim(trailing 'a' FROM COUNTRY)= 'Australi'; COUNTRY Australia SELECT COUNTRY FROM t1 WHERE trim(leading 'A' FROM COUNTRY) = 'ustralia' AND trim(trailing 'a' FROM COUNTRY) = 'Australi'; COUNTRY Australia DROP TABLE t1; # # Bug 31320716 - SETTING VARIABLE TO CONCAT('') SETS IT TO NULL INSTEAD OF '' # SELECT @var:=CONCAT(''); @var:=CONCAT('') SELECT @var:=CONCAT_WS('',''); @var:=CONCAT_WS('','') SET NAMES utf8; CREATE TABLE t(a INT) engine=innodb; INSERT INTO t VALUES(1); SELECT 1 FROM t WHERE WEIGHT_STRING(CONCAT_WS('1','')); 1 SELECT 1 FROM t WHERE WEIGHT_STRING(CONCAT('','')); 1 SET NAMES DEFAULT; DROP TABLE t; # # Bug#31374305 - FORMAT() NOT DISPLAYING WHOLE NUMBER SIDE CORRECTLY # FOR ES_MX AND ES_ES LOCALES # CREATE PROCEDURE load_locale_format_table() BEGIN DECLARE locale_list VARCHAR(1000) DEFAULT ' es_AR,es_BO,es_CL,es_CO,es_CR,es_DO,es_EC,es_ES,es_GT,es_HN, es_MX,es_NI,es_PA,es_PE,es_PR,es_PY,es_SV,es_US,es_UY,es_VE'; SET @fmt_stmt = 'INSERT INTO locale_format VALUES (?, FORMAT(12131254123412541,2,?));'; PREPARE stmt FROM @fmt_stmt; WHILE locale_list != '' DO /* get the first locale from the list */ SET @locale = TRIM(REPLACE((SUBSTRING_INDEX(locale_list, ',', 1)), '\n','')); EXECUTE stmt USING @locale, @locale; /* remove the first locale from the list */ IF LOCATE(',', locale_list) > 0 THEN SET locale_list = SUBSTRING(locale_list, LOCATE(',', locale_list) + 1); ELSE SET locale_list = ''; END IF; END WHILE; DEALLOCATE PREPARE stmt; END| CREATE TABLE locale_format(locale VARCHAR(10), formatted_string VARCHAR(100)); CALL load_locale_format_table(); SELECT * FROM locale_format; locale formatted_string es_AR 12.131.254.123.412.541,00 es_BO 12.131.254.123.412.541,00 es_CL 12.131.254.123.412.541,00 es_CO 12.131.254.123.412.541,00 es_CR 12 131 254 123 412 541,00 es_DO 12,131,254,123,412,541.00 es_EC 12.131.254.123.412.541,00 es_ES 12.131.254.123.412.541,00 es_GT 12,131,254,123,412,541.00 es_HN 12,131,254,123,412,541.00 es_MX 12,131,254,123,412,541.00 es_NI 12,131,254,123,412,541.00 es_PA 12,131,254,123,412,541.00 es_PE 12,131,254,123,412,541.00 es_PR 12,131,254,123,412,541.00 es_PY 12.131.254.123.412.541,00 es_SV 12,131,254,123,412,541.00 es_US 12,131,254,123,412,541.00 es_UY 12.131.254.123.412.541,00 es_VE 12.131.254.123.412.541,00 DROP PROCEDURE load_locale_format_table; DROP TABLE locale_format;