func_str.result
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:46k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1;
  2. set names latin1;
  3. select 'hello',"'hello'",'""hello""','''h''e''l''l''o''',"hel""lo",'hel'lo';
  4. hello 'hello' ""hello"" 'h'e'l'l'o' hel"lo hel'lo
  5. hello 'hello' ""hello"" 'h'e'l'l'o' hel"lo hel'lo
  6. select 'hello' 'monty';
  7. hello
  8. hellomonty
  9. select length('ntrb_%\');
  10. length('ntrb_%\')
  11. 10
  12. select bit_length('ntrb_%\');
  13. bit_length('ntrb_%\')
  14. 80
  15. select char_length('ntrb_%\');
  16. char_length('ntrb_%\')
  17. 10
  18. select length(_latin1'ntnb\_\%\');
  19. length(_latin1'ntnb\_\%\')
  20. 10
  21. select concat('monty',' was here ','again'),length('hello'),char(ascii('h')),ord('h');
  22. concat('monty',' was here ','again') length('hello') char(ascii('h')) ord('h')
  23. monty was here again 5 h 104
  24. select locate('he','hello'),locate('he','hello',2),locate('lo','hello',2) ;
  25. locate('he','hello') locate('he','hello',2) locate('lo','hello',2)
  26. 1 0 4
  27. select instr('hello','HE'), instr('hello',binary 'HE'), instr(binary 'hello','HE');
  28. instr('hello','HE') instr('hello',binary 'HE') instr(binary 'hello','HE')
  29. 1 0 0
  30. select position(binary 'll' in 'hello'),position('a' in binary 'hello');
  31. position(binary 'll' in 'hello') position('a' in binary 'hello')
  32. 3 0
  33. select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5) ;
  34. left('hello',2) right('hello',2) substring('hello',2,2) mid('hello',1,5)
  35. he lo el hello
  36. select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) ;
  37. concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1))
  38. happy
  39. select substring_index('www.tcx.se','.',-2),substring_index('www.tcx.se','.',1);
  40. substring_index('www.tcx.se','.',-2) substring_index('www.tcx.se','.',1)
  41. tcx.se www
  42. select substring_index('www.tcx.se','tcx',1),substring_index('www.tcx.se','tcx',-1);
  43. substring_index('www.tcx.se','tcx',1) substring_index('www.tcx.se','tcx',-1)
  44. www. .se
  45. select substring_index('.tcx.se','.',-2),substring_index('.tcx.se','.tcx',-1);
  46. substring_index('.tcx.se','.',-2) substring_index('.tcx.se','.tcx',-1)
  47. tcx.se .se
  48. select substring_index('aaaaaaaaa1','a',1);
  49. substring_index('aaaaaaaaa1','a',1)
  50. select substring_index('aaaaaaaaa1','aa',1);
  51. substring_index('aaaaaaaaa1','aa',1)
  52. select substring_index('aaaaaaaaa1','aa',2);
  53. substring_index('aaaaaaaaa1','aa',2)
  54. aa
  55. select substring_index('aaaaaaaaa1','aa',3);
  56. substring_index('aaaaaaaaa1','aa',3)
  57. aaaa
  58. select substring_index('aaaaaaaaa1','aa',4);
  59. substring_index('aaaaaaaaa1','aa',4)
  60. aaaaaa
  61. select substring_index('aaaaaaaaa1','aa',5);
  62. substring_index('aaaaaaaaa1','aa',5)
  63. aaaaaaaaa1
  64. select substring_index('aaaaaaaaa1','aaa',1);
  65. substring_index('aaaaaaaaa1','aaa',1)
  66. select substring_index('aaaaaaaaa1','aaa',2);
  67. substring_index('aaaaaaaaa1','aaa',2)
  68. aaa
  69. select substring_index('aaaaaaaaa1','aaa',3);
  70. substring_index('aaaaaaaaa1','aaa',3)
  71. aaaaaa
  72. select substring_index('aaaaaaaaa1','aaa',4);
  73. substring_index('aaaaaaaaa1','aaa',4)
  74. aaaaaaaaa1
  75. select substring_index('aaaaaaaaa1','aaaa',1);
  76. substring_index('aaaaaaaaa1','aaaa',1)
  77. select substring_index('aaaaaaaaa1','aaaa',2);
  78. substring_index('aaaaaaaaa1','aaaa',2)
  79. aaaa
  80. select substring_index('aaaaaaaaa1','1',1);
  81. substring_index('aaaaaaaaa1','1',1)
  82. aaaaaaaaa
  83. select substring_index('aaaaaaaaa1','a',-1);
  84. substring_index('aaaaaaaaa1','a',-1)
  85. 1
  86. select substring_index('aaaaaaaaa1','aa',-1);
  87. substring_index('aaaaaaaaa1','aa',-1)
  88. 1
  89. select substring_index('aaaaaaaaa1','aa',-2);
  90. substring_index('aaaaaaaaa1','aa',-2)
  91. aa1
  92. select substring_index('aaaaaaaaa1','aa',-3);
  93. substring_index('aaaaaaaaa1','aa',-3)
  94. aaaa1
  95. select substring_index('aaaaaaaaa1','aa',-4);
  96. substring_index('aaaaaaaaa1','aa',-4)
  97. aaaaaa1
  98. select substring_index('aaaaaaaaa1','aa',-5);
  99. substring_index('aaaaaaaaa1','aa',-5)
  100. aaaaaaaaa1
  101. select substring_index('aaaaaaaaa1','aaa',-1);
  102. substring_index('aaaaaaaaa1','aaa',-1)
  103. 1
  104. select substring_index('aaaaaaaaa1','aaa',-2);
  105. substring_index('aaaaaaaaa1','aaa',-2)
  106. aaa1
  107. select substring_index('aaaaaaaaa1','aaa',-3);
  108. substring_index('aaaaaaaaa1','aaa',-3)
  109. aaaaaa1
  110. select substring_index('aaaaaaaaa1','aaa',-4);
  111. substring_index('aaaaaaaaa1','aaa',-4)
  112. select substring_index('the king of thethe hill','the',-2);
  113. substring_index('the king of thethe hill','the',-2)
  114. the hill
  115. select substring_index('the king of the the hill','the',-2);
  116. substring_index('the king of the the hill','the',-2)
  117.  the hill
  118. select substring_index('the king of the  the hill','the',-2);
  119. substring_index('the king of the  the hill','the',-2)
  120.   the hill
  121. select substring_index('the king of the  the hill',' the ',-1);
  122. substring_index('the king of the  the hill',' the ',-1)
  123. hill
  124. select substring_index('the king of the  the hill',' the ',-2);
  125. substring_index('the king of the  the hill',' the ',-2)
  126.  the hill
  127. select substring_index('the king of the  the hill',' ',-1);
  128. substring_index('the king of the  the hill',' ',-1)
  129. hill
  130. select substring_index('the king of the  the hill',' ',-2);
  131. substring_index('the king of the  the hill',' ',-2)
  132. the hill
  133. select substring_index('the king of the  the hill',' ',-3);
  134. substring_index('the king of the  the hill',' ',-3)
  135.  the hill
  136. select substring_index('the king of the  the hill',' ',-4);
  137. substring_index('the king of the  the hill',' ',-4)
  138. the  the hill
  139. select substring_index('the king of the  the hill',' ',-5);
  140. substring_index('the king of the  the hill',' ',-5)
  141. of the  the hill
  142. select substring_index('the king of the.the hill','the',-2);
  143. substring_index('the king of the.the hill','the',-2)
  144. .the hill
  145. select substring_index('the king of thethethe.the hill','the',-3);
  146. substring_index('the king of thethethe.the hill','the',-3)
  147. the.the hill
  148. select substring_index('the king of thethethe.the hill','the',-1);
  149. substring_index('the king of thethethe.the hill','the',-1)
  150.  hill
  151. select substring_index('the king of the the hill','the',1);
  152. substring_index('the king of the the hill','the',1)
  153. select substring_index('the king of the the hill','the',2);
  154. substring_index('the king of the the hill','the',2)
  155. the king of 
  156. select substring_index('the king of the the hill','the',3);
  157. substring_index('the king of the the hill','the',3)
  158. the king of the 
  159. select concat(':',ltrim('  left  '),':',rtrim('  right  '),':');
  160. concat(':',ltrim('  left  '),':',rtrim('  right  '),':')
  161. :left  :  right:
  162. select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':');
  163. concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':')
  164. :left: right:
  165. select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':');
  166. concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':')
  167. :m:y:s:
  168. select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':');
  169. concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':')
  170. :my:sql:
  171. select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':');
  172. concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':')
  173. :my:sql:
  174. select TRIM("foo" FROM "foo"), TRIM("foo" FROM "foook"), TRIM("foo" FROM "okfoo");
  175. TRIM("foo" FROM "foo") TRIM("foo" FROM "foook") TRIM("foo" FROM "okfoo")
  176. ok ok
  177. select concat_ws(', ','monty','was here','again');
  178. concat_ws(', ','monty','was here','again')
  179. monty, was here, again
  180. select concat_ws(NULL,'a'),concat_ws(',',NULL,'');
  181. concat_ws(NULL,'a') concat_ws(',',NULL,'')
  182. NULL
  183. select concat_ws(',','',NULL,'a');
  184. concat_ws(',','',NULL,'a')
  185. ,a
  186. SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"');
  187. CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"')
  188. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc";"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
  189. select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
  190. insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
  191. this is a test
  192. select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
  193. replace('aaaa','a','b') replace('aaaa','aa','b') replace('aaaa','a','bb') replace('aaaa','','b') replace('bbbb','a','c')
  194. bbbb bb bbbbbbbb aaaa bbbb
  195. select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') ;
  196. replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL')
  197. this is a REAL test
  198. select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
  199. soundex('') soundex('he') soundex('hello all folks') soundex('#3556 in bugdb')
  200. H000 H4142 I51231
  201. select 'mood' sounds like 'mud';
  202. 'mood' sounds like 'mud'
  203. 1
  204. select 'Glazgo' sounds like 'Liverpool';
  205. 'Glazgo' sounds like 'Liverpool'
  206. 0
  207. select null sounds like 'null';
  208. null sounds like 'null'
  209. NULL
  210. select 'null' sounds like null;
  211. 'null' sounds like null
  212. NULL
  213. select null sounds like null;
  214. null sounds like null
  215. NULL
  216. select md5('hello');
  217. md5('hello')
  218. 5d41402abc4b2a76b9719d911017c592
  219. select crc32("123");
  220. crc32("123")
  221. 2286445522
  222. select sha('abc');
  223. sha('abc')
  224. a9993e364706816aba3e25717850c26c9cd0d89d
  225. select sha1('abc');
  226. sha1('abc')
  227. a9993e364706816aba3e25717850c26c9cd0d89d
  228. select aes_decrypt(aes_encrypt('abc','1'),'1');
  229. aes_decrypt(aes_encrypt('abc','1'),'1')
  230. abc
  231. select aes_decrypt(aes_encrypt('abc','1'),1);
  232. aes_decrypt(aes_encrypt('abc','1'),1)
  233. abc
  234. select aes_encrypt(NULL,"a");
  235. aes_encrypt(NULL,"a")
  236. NULL
  237. select aes_encrypt("a",NULL);
  238. aes_encrypt("a",NULL)
  239. NULL
  240. select aes_decrypt(NULL,"a");
  241. aes_decrypt(NULL,"a")
  242. NULL
  243. select aes_decrypt("a",NULL);
  244. aes_decrypt("a",NULL)
  245. NULL
  246. select aes_decrypt("a","a");
  247. aes_decrypt("a","a")
  248. NULL
  249. select aes_decrypt(aes_encrypt("","a"),"a");
  250. aes_decrypt(aes_encrypt("","a"),"a")
  251. select repeat('monty',5),concat('*',space(5),'*');
  252. repeat('monty',5) concat('*',space(5),'*')
  253. montymontymontymontymonty *     *
  254. select reverse('abc'),reverse('abcd');
  255. reverse('abc') reverse('abcd')
  256. cba dcba
  257. select rpad('a',4,'1'),rpad('a',4,'12'),rpad('abcd',3,'12'), rpad(11, 10 , 22), rpad("ab", 10, 22);
  258. rpad('a',4,'1') rpad('a',4,'12') rpad('abcd',3,'12') rpad(11, 10 , 22) rpad("ab", 10, 22)
  259. a111 a121 abc 1122222222 ab22222222
  260. select lpad('a',4,'1'),lpad('a',4,'12'),lpad('abcd',3,'12'), lpad(11, 10 , 22);
  261. lpad('a',4,'1') lpad('a',4,'12') lpad('abcd',3,'12') lpad(11, 10 , 22)
  262. 111a 121a abc 2222222211
  263. select rpad(741653838,17,'0'),lpad(741653838,17,'0');
  264. rpad(741653838,17,'0') lpad(741653838,17,'0')
  265. 74165383800000000 00000000741653838
  266. select rpad('abcd',7,'ab'),lpad('abcd',7,'ab');
  267. rpad('abcd',7,'ab') lpad('abcd',7,'ab')
  268. abcdaba abaabcd
  269. select rpad('abcd',1,'ab'),lpad('abcd',1,'ab');
  270. rpad('abcd',1,'ab') lpad('abcd',1,'ab')
  271. a a
  272. select rpad('STRING', 20, CONCAT('p','a','d') );
  273. rpad('STRING', 20, CONCAT('p','a','d') )
  274. STRINGpadpadpadpadpa
  275. select lpad('STRING', 20, CONCAT('p','a','d') );
  276. lpad('STRING', 20, CONCAT('p','a','d') )
  277. padpadpadpadpaSTRING
  278. select LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD'),GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD');
  279. LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD') GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD')
  280. HAROLD HARRY
  281. 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");
  282. 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")
  283. 33 4 1.0 1.0 1.1 9 B
  284. select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000);
  285. decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000)
  286. 1
  287. select decode(encode("abcdef","monty"),"monty")="abcdef";
  288. decode(encode("abcdef","monty"),"monty")="abcdef"
  289. 1
  290. select quote(''"\test');
  291. quote(''"\test')
  292. ''"\test'
  293. select quote(concat('abc'', '\cba'));
  294. quote(concat('abc'', '\cba'))
  295. 'abc'\cba'
  296. select quote(1/0), quote('Z');
  297. quote(1/0) quote('Z')
  298. NULL 'Z'
  299. select length(quote(concat(char(0),"test")));
  300. length(quote(concat(char(0),"test")))
  301. 8
  302. select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))));
  303. hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))))
  304. 27E0E3E6E7E8EAEB27
  305. select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL);
  306. unhex(hex("foobar")) hex(unhex("1234567890ABCDEF")) unhex("345678") unhex(NULL)
  307. foobar 1234567890ABCDEF 4Vx NULL
  308. select hex(unhex("1")), hex(unhex("12")), hex(unhex("123")), hex(unhex("1234")), hex(unhex("12345")), hex(unhex("123456"));
  309. hex(unhex("1")) hex(unhex("12")) hex(unhex("123")) hex(unhex("1234")) hex(unhex("12345")) hex(unhex("123456"))
  310. 01 12 0123 1234 012345 123456
  311. select length(unhex(md5("abrakadabra")));
  312. length(unhex(md5("abrakadabra")))
  313. 16
  314. select concat('a', quote(NULL));
  315. concat('a', quote(NULL))
  316. aNULL
  317. select reverse("");
  318. reverse("")
  319. select insert("aa",100,1,"b"),insert("aa",1,3,"b"),left("aa",-1),substring("a",1,2);
  320. insert("aa",100,1,"b") insert("aa",1,3,"b") left("aa",-1) substring("a",1,2)
  321. aa b a
  322. select elt(2,1),field(NULL,"a","b","c"),reverse("");
  323. elt(2,1) field(NULL,"a","b","c") reverse("")
  324. NULL 0
  325. select locate("a","b",2),locate("","a",1);
  326. locate("a","b",2) locate("","a",1)
  327. 0 1
  328. select ltrim("a"),rtrim("a"),trim(BOTH "" from "a"),trim(BOTH " " from "a");
  329. ltrim("a") rtrim("a") trim(BOTH "" from "a") trim(BOTH " " from "a")
  330. a a a a
  331. select concat("1","2")|0,concat("1",".5")+0.0;
  332. concat("1","2")|0 concat("1",".5")+0.0
  333. 12 1.5
  334. select substring_index("www.tcx.se","",3);
  335. substring_index("www.tcx.se","",3)
  336. select length(repeat("a",100000000)),length(repeat("a",1000*64));
  337. length(repeat("a",100000000)) length(repeat("a",1000*64))
  338. NULL 64000
  339. Warnings:
  340. Warning 1301 Result of repeat() was larger than max_allowed_packet (1048576) - truncated
  341. select position("0" in "baaa" in (1)),position("0" in "1" in (1,2,3)),position("sql" in ("mysql"));
  342. position("0" in "baaa" in (1)) position("0" in "1" in (1,2,3)) position("sql" in ("mysql"))
  343. 1 0 3
  344. select position(("1" in (1,2,3)) in "01");
  345. position(("1" in (1,2,3)) in "01")
  346. 2
  347. 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)));
  348. 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)))
  349. 65500 64000 50000 60000
  350. 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)));
  351. 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)))
  352. 1000000 96000 160000 95000
  353. create table t1 ( domain char(50) );
  354. insert into t1 VALUES ("hello.de" ), ("test.de" );
  355. select domain from t1 where concat('@', trim(leading '.' from concat('.', domain))) = '@hello.de';
  356. domain
  357. hello.de
  358. select domain from t1 where concat('@', trim(leading '.' from concat('.', domain))) = '@test.de';
  359. domain
  360. test.de
  361. drop table t1;
  362. CREATE TABLE t1 (
  363. id int(10) unsigned NOT NULL,
  364. title varchar(255) default NULL,
  365. prio int(10) unsigned default NULL,
  366. category int(10) unsigned default NULL,
  367. program int(10) unsigned default NULL,
  368. bugdesc text,
  369. created datetime default NULL,
  370. modified timestamp(14) NOT NULL,
  371. bugstatus int(10) unsigned default NULL,
  372. submitter int(10) unsigned default NULL
  373. ) ENGINE=MyISAM;
  374. INSERT INTO t1 VALUES (1,'Link',1,1,1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','2001-02-28 08:40:16',20010228084016,0,4);
  375. SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') FROM t1;
  376. CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"')
  377. "Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4"
  378. SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') FROM t1;
  379. CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"')
  380. "Link";"1";"1";"1";"0";"4"
  381. SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) FROM t1;
  382. CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter)
  383. Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4
  384. SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') from t1 group by bugdesc;
  385. bugdesc REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb')
  386. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  387. drop table t1;
  388. CREATE TABLE t1 (id int(11) NOT NULL auto_increment, tmp text NOT NULL, KEY id (id)) ENGINE=MyISAM;
  389. INSERT INTO t1 VALUES (1, 'a545f661efdd1fb66fdee3aab79945bf');
  390. SELECT 1 FROM t1 WHERE tmp=AES_DECRYPT(tmp,"password");
  391. 1
  392. DROP TABLE t1;
  393. CREATE TABLE t1 (
  394. wid int(10) unsigned NOT NULL auto_increment,
  395. data_podp date default NULL,
  396. status_wnio enum('nowy','podp','real','arch') NOT NULL default 'nowy',
  397. PRIMARY KEY(wid)
  398. );
  399. INSERT INTO t1 VALUES (8,NULL,'real');
  400. INSERT INTO t1 VALUES (9,NULL,'nowy');
  401. SELECT elt(status_wnio,data_podp) FROM t1 GROUP BY wid;
  402. elt(status_wnio,data_podp)
  403. NULL
  404. NULL
  405. DROP TABLE t1;
  406. CREATE TABLE t1 (title text) ENGINE=MyISAM;
  407. INSERT INTO t1 VALUES ('Congress reconvenes in September to debate welfare and adult education');
  408. INSERT INTO t1 VALUES ('House passes the CAREERS bill');
  409. SELECT CONCAT("</a>",RPAD("",(55 - LENGTH(title)),".")) from t1;
  410. CONCAT("</a>",RPAD("",(55 - LENGTH(title)),"."))
  411. NULL
  412. </a>..........................
  413. DROP TABLE t1;
  414. CREATE TABLE t1 (i int, j int);
  415. INSERT INTO t1 VALUES (1,1),(2,2);
  416. SELECT DISTINCT i, ELT(j, '345', '34') FROM t1;
  417. i ELT(j, '345', '34')
  418. 1 345
  419. 2 34
  420. DROP TABLE t1;
  421. create table t1(a char(4));
  422. insert into t1 values ('one'),(NULL),('two'),('four');
  423. select a, quote(a), isnull(quote(a)), quote(a) is null, ifnull(quote(a), 'n') from t1;
  424. a quote(a) isnull(quote(a)) quote(a) is null ifnull(quote(a), 'n')
  425. one 'one' 0 0 'one'
  426. NULL NULL 0 0 NULL
  427. two 'two' 0 0 'two'
  428. four 'four' 0 0 'four'
  429. drop table t1;
  430. select trim(trailing 'foo' from 'foo');
  431. trim(trailing 'foo' from 'foo')
  432. select trim(leading 'foo' from 'foo');
  433. trim(leading 'foo' from 'foo')
  434. select quote(ltrim(concat('    ', 'a')));
  435. quote(ltrim(concat('    ', 'a')))
  436. 'a'
  437. select quote(trim(concat('    ', 'a')));
  438. quote(trim(concat('    ', 'a')))
  439. 'a'
  440. CREATE TABLE t1 SELECT 1 UNION SELECT 2 UNION SELECT 3;
  441. SELECT QUOTE('A') FROM t1;
  442. QUOTE('A')
  443. 'A'
  444. 'A'
  445. 'A'
  446. DROP TABLE t1;
  447. select 1=_latin1'1';
  448. 1=_latin1'1'
  449. 1
  450. select _latin1'1'=1;
  451. _latin1'1'=1
  452. 1
  453. select _latin2'1'=1;
  454. _latin2'1'=1
  455. 1
  456. select 1=_latin2'1';
  457. 1=_latin2'1'
  458. 1
  459. select _latin1'1'=_latin2'1';
  460. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation '='
  461. select row('a','b','c') = row('a','b','c');
  462. row('a','b','c') = row('a','b','c')
  463. 1
  464. select row('A','b','c') = row('a','b','c');
  465. row('A','b','c') = row('a','b','c')
  466. 1
  467. select row('A' COLLATE latin1_bin,'b','c') = row('a','b','c');
  468. row('A' COLLATE latin1_bin,'b','c') = row('a','b','c')
  469. 0
  470. select row('A','b','c') = row('a' COLLATE latin1_bin,'b','c');
  471. row('A','b','c') = row('a' COLLATE latin1_bin,'b','c')
  472. 0
  473. select row('A' COLLATE latin1_general_ci,'b','c') = row('a' COLLATE latin1_bin,'b','c');
  474. ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation '='
  475. select concat(_latin1'a',_latin2'a');
  476. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'concat'
  477. select concat(_latin1'a',_latin2'a',_latin5'a');
  478. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin5_turkish_ci,COERCIBLE) for operation 'concat'
  479. select concat(_latin1'a',_latin2'a',_latin5'a',_latin7'a');
  480. ERROR HY000: Illegal mix of collations for operation 'concat'
  481. select concat_ws(_latin1'a',_latin2'a');
  482. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'concat_ws'
  483. select FIELD('b','A','B');
  484. FIELD('b','A','B')
  485. 2
  486. select FIELD('B','A','B');
  487. FIELD('B','A','B')
  488. 2
  489. select FIELD('b' COLLATE latin1_bin,'A','B');
  490. FIELD('b' COLLATE latin1_bin,'A','B')
  491. 0
  492. select FIELD('b','A' COLLATE latin1_bin,'B');
  493. FIELD('b','A' COLLATE latin1_bin,'B')
  494. 0
  495. select FIELD(_latin2'b','A','B');
  496. ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation 'field'
  497. select FIELD('b',_latin2'A','B');
  498. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation 'field'
  499. select FIELD('b',_latin2'A','B',1);
  500. FIELD('b',_latin2'A','B',1)
  501. 1
  502. select POSITION(_latin1'B' IN _latin1'abcd');
  503. POSITION(_latin1'B' IN _latin1'abcd')
  504. 2
  505. select POSITION(_latin1'B' IN _latin1'abcd' COLLATE latin1_bin);
  506. POSITION(_latin1'B' IN _latin1'abcd' COLLATE latin1_bin)
  507. 0
  508. select POSITION(_latin1'B' COLLATE latin1_bin IN _latin1'abcd');
  509. POSITION(_latin1'B' COLLATE latin1_bin IN _latin1'abcd')
  510. 0
  511. select POSITION(_latin1'B' COLLATE latin1_general_ci IN _latin1'abcd' COLLATE latin1_bin);
  512. ERROR HY000: Illegal mix of collations (latin1_bin,EXPLICIT) and (latin1_general_ci,EXPLICIT) for operation 'locate'
  513. select POSITION(_latin1'B' IN _latin2'abcd');
  514. ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE) and (latin1_swedish_ci,COERCIBLE) for operation 'locate'
  515. select FIND_IN_SET(_latin1'B',_latin1'a,b,c,d');
  516. FIND_IN_SET(_latin1'B',_latin1'a,b,c,d')
  517. 2
  518. select FIND_IN_SET(_latin1'B' COLLATE latin1_general_ci,_latin1'a,b,c,d' COLLATE latin1_bin);
  519. ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'find_in_set'
  520. select FIND_IN_SET(_latin1'B',_latin2'a,b,c,d');
  521. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'find_in_set'
  522. select SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin1'd',2);
  523. SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin1'd',2)
  524. abcdabc
  525. select SUBSTRING_INDEX(_latin1'abcdabcdabcd',_latin2'd',2);
  526. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (latin2_general_ci,COERCIBLE) for operation 'substr_index'
  527. select SUBSTRING_INDEX(_latin1'abcdabcdabcd' COLLATE latin1_general_ci,_latin1'd' COLLATE latin1_bin,2);
  528. ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'substr_index'
  529. select _latin1'B' between _latin1'a' and _latin1'c';
  530. _latin1'B' between _latin1'a' and _latin1'c'
  531. 1
  532. select _latin1'B' collate latin1_bin between _latin1'a' and _latin1'c';
  533. _latin1'B' collate latin1_bin between _latin1'a' and _latin1'c'
  534. 0
  535. select _latin1'B' between _latin1'a' collate latin1_bin and _latin1'c';
  536. _latin1'B' between _latin1'a' collate latin1_bin and _latin1'c'
  537. 0
  538. select _latin1'B' between _latin1'a' and _latin1'c' collate latin1_bin;
  539. _latin1'B' between _latin1'a' and _latin1'c' collate latin1_bin
  540. 0
  541. select _latin2'B' between _latin1'a' and _latin1'b';
  542. ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation 'between'
  543. select _latin1'B' between _latin2'a' and _latin1'b';
  544. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation 'between'
  545. select _latin1'B' between _latin1'a' and _latin2'b';
  546. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE) for operation 'between'
  547. select _latin1'B' collate latin1_general_ci between _latin1'a' collate latin1_bin and _latin1'b';
  548. ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_bin,EXPLICIT), (latin1_swedish_ci,COERCIBLE) for operation 'between'
  549. select _latin1'B' in (_latin1'a',_latin1'b');
  550. _latin1'B' in (_latin1'a',_latin1'b')
  551. 1
  552. select _latin1'B' collate latin1_bin in (_latin1'a',_latin1'b');
  553. _latin1'B' collate latin1_bin in (_latin1'a',_latin1'b')
  554. 0
  555. select _latin1'B' in (_latin1'a' collate latin1_bin,_latin1'b');
  556. _latin1'B' in (_latin1'a' collate latin1_bin,_latin1'b')
  557. 0
  558. select _latin1'B' in (_latin1'a',_latin1'b' collate latin1_bin);
  559. _latin1'B' in (_latin1'a',_latin1'b' collate latin1_bin)
  560. 0
  561. select _latin2'B' in (_latin1'a',_latin1'b');
  562. ERROR HY000: Illegal mix of collations (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation ' IN '
  563. select _latin1'B' in (_latin2'a',_latin1'b');
  564. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE) for operation ' IN '
  565. select _latin1'B' in (_latin1'a',_latin2'b');
  566. ERROR HY000: Illegal mix of collations (latin1_swedish_ci,COERCIBLE), (latin1_swedish_ci,COERCIBLE), (latin2_general_ci,COERCIBLE) for operation ' IN '
  567. select _latin1'B' COLLATE latin1_general_ci in (_latin1'a' COLLATE latin1_bin,_latin1'b');
  568. ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_bin,EXPLICIT), (latin1_swedish_ci,COERCIBLE) for operation ' IN '
  569. select _latin1'B' COLLATE latin1_general_ci in (_latin1'a',_latin1'b' COLLATE latin1_bin);
  570. ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT), (latin1_swedish_ci,COERCIBLE), (latin1_bin,EXPLICIT) for operation ' IN '
  571. select collation(bin(130)), coercibility(bin(130));
  572. collation(bin(130)) coercibility(bin(130))
  573. latin1_swedish_ci 4
  574. select collation(oct(130)), coercibility(oct(130));
  575. collation(oct(130)) coercibility(oct(130))
  576. latin1_swedish_ci 4
  577. select collation(conv(130,16,10)), coercibility(conv(130,16,10));
  578. collation(conv(130,16,10)) coercibility(conv(130,16,10))
  579. latin1_swedish_ci 4
  580. select collation(hex(130)), coercibility(hex(130));
  581. collation(hex(130)) coercibility(hex(130))
  582. latin1_swedish_ci 4
  583. select collation(char(130)), coercibility(hex(130));
  584. collation(char(130)) coercibility(hex(130))
  585. latin1_swedish_ci 4
  586. select collation(format(130,10)), coercibility(format(130,10));
  587. collation(format(130,10)) coercibility(format(130,10))
  588. latin1_swedish_ci 4
  589. select collation(lcase(_latin2'a')), coercibility(lcase(_latin2'a'));
  590. collation(lcase(_latin2'a')) coercibility(lcase(_latin2'a'))
  591. latin2_general_ci 4
  592. select collation(ucase(_latin2'a')), coercibility(ucase(_latin2'a'));
  593. collation(ucase(_latin2'a')) coercibility(ucase(_latin2'a'))
  594. latin2_general_ci 4
  595. select collation(left(_latin2'a',1)), coercibility(left(_latin2'a',1));
  596. collation(left(_latin2'a',1)) coercibility(left(_latin2'a',1))
  597. latin2_general_ci 4
  598. select collation(right(_latin2'a',1)), coercibility(right(_latin2'a',1));
  599. collation(right(_latin2'a',1)) coercibility(right(_latin2'a',1))
  600. latin2_general_ci 4
  601. select collation(substring(_latin2'a',1,1)), coercibility(substring(_latin2'a',1,1));
  602. collation(substring(_latin2'a',1,1)) coercibility(substring(_latin2'a',1,1))
  603. latin2_general_ci 4
  604. select collation(concat(_latin2'a',_latin2'b')), coercibility(concat(_latin2'a',_latin2'b'));
  605. collation(concat(_latin2'a',_latin2'b')) coercibility(concat(_latin2'a',_latin2'b'))
  606. latin2_general_ci 4
  607. select collation(lpad(_latin2'a',4,_latin2'b')), coercibility(lpad(_latin2'a',4,_latin2'b'));
  608. collation(lpad(_latin2'a',4,_latin2'b')) coercibility(lpad(_latin2'a',4,_latin2'b'))
  609. latin2_general_ci 4
  610. select collation(rpad(_latin2'a',4,_latin2'b')), coercibility(rpad(_latin2'a',4,_latin2'b'));
  611. collation(rpad(_latin2'a',4,_latin2'b')) coercibility(rpad(_latin2'a',4,_latin2'b'))
  612. latin2_general_ci 4
  613. select collation(concat_ws(_latin2'a',_latin2'b')), coercibility(concat_ws(_latin2'a',_latin2'b'));
  614. collation(concat_ws(_latin2'a',_latin2'b')) coercibility(concat_ws(_latin2'a',_latin2'b'))
  615. latin2_general_ci 4
  616. select collation(make_set(255,_latin2'a',_latin2'b',_latin2'c')), coercibility(make_set(255,_latin2'a',_latin2'b',_latin2'c'));
  617. collation(make_set(255,_latin2'a',_latin2'b',_latin2'c')) coercibility(make_set(255,_latin2'a',_latin2'b',_latin2'c'))
  618. latin2_general_ci 4
  619. select collation(export_set(255,_latin2'y',_latin2'n',_latin2' ')), coercibility(export_set(255,_latin2'y',_latin2'n',_latin2' '));
  620. collation(export_set(255,_latin2'y',_latin2'n',_latin2' ')) coercibility(export_set(255,_latin2'y',_latin2'n',_latin2' '))
  621. latin2_general_ci 4
  622. select collation(trim(_latin2' a ')), coercibility(trim(_latin2' a '));
  623. collation(trim(_latin2' a ')) coercibility(trim(_latin2' a '))
  624. latin2_general_ci 4
  625. select collation(ltrim(_latin2' a ')), coercibility(ltrim(_latin2' a '));
  626. collation(ltrim(_latin2' a ')) coercibility(ltrim(_latin2' a '))
  627. latin2_general_ci 4
  628. select collation(rtrim(_latin2' a ')), coercibility(rtrim(_latin2' a '));
  629. collation(rtrim(_latin2' a ')) coercibility(rtrim(_latin2' a '))
  630. latin2_general_ci 4
  631. select collation(trim(LEADING _latin2' ' FROM _latin2'a')), coercibility(trim(LEADING _latin2'a' FROM _latin2'a'));
  632. collation(trim(LEADING _latin2' ' FROM _latin2'a')) coercibility(trim(LEADING _latin2'a' FROM _latin2'a'))
  633. latin2_general_ci 4
  634. select collation(trim(TRAILING _latin2' ' FROM _latin2'a')), coercibility(trim(TRAILING _latin2'a' FROM _latin2'a'));
  635. collation(trim(TRAILING _latin2' ' FROM _latin2'a')) coercibility(trim(TRAILING _latin2'a' FROM _latin2'a'))
  636. latin2_general_ci 4
  637. select collation(trim(BOTH _latin2' ' FROM _latin2'a')), coercibility(trim(BOTH _latin2'a' FROM _latin2'a'));
  638. collation(trim(BOTH _latin2' ' FROM _latin2'a')) coercibility(trim(BOTH _latin2'a' FROM _latin2'a'))
  639. latin2_general_ci 4
  640. select collation(repeat(_latin2'a',10)), coercibility(repeat(_latin2'a',10));
  641. collation(repeat(_latin2'a',10)) coercibility(repeat(_latin2'a',10))
  642. latin2_general_ci 4
  643. select collation(reverse(_latin2'ab')), coercibility(reverse(_latin2'ab'));
  644. collation(reverse(_latin2'ab')) coercibility(reverse(_latin2'ab'))
  645. latin2_general_ci 4
  646. select collation(quote(_latin2'ab')), coercibility(quote(_latin2'ab'));
  647. collation(quote(_latin2'ab')) coercibility(quote(_latin2'ab'))
  648. latin2_general_ci 4
  649. select collation(soundex(_latin2'ab')), coercibility(soundex(_latin2'ab'));
  650. collation(soundex(_latin2'ab')) coercibility(soundex(_latin2'ab'))
  651. latin2_general_ci 4
  652. select collation(substring(_latin2'ab',1)), coercibility(substring(_latin2'ab',1));
  653. collation(substring(_latin2'ab',1)) coercibility(substring(_latin2'ab',1))
  654. latin2_general_ci 4
  655. select collation(insert(_latin2'abcd',2,3,_latin2'ef')), coercibility(insert(_latin2'abcd',2,3,_latin2'ef'));
  656. collation(insert(_latin2'abcd',2,3,_latin2'ef')) coercibility(insert(_latin2'abcd',2,3,_latin2'ef'))
  657. latin2_general_ci 4
  658. select collation(replace(_latin2'abcd',_latin2'b',_latin2'B')), coercibility(replace(_latin2'abcd',_latin2'b',_latin2'B'));
  659. collation(replace(_latin2'abcd',_latin2'b',_latin2'B')) coercibility(replace(_latin2'abcd',_latin2'b',_latin2'B'))
  660. latin2_general_ci 4
  661. select collation(encode('abcd','ab')), coercibility(encode('abcd','ab'));
  662. collation(encode('abcd','ab')) coercibility(encode('abcd','ab'))
  663. binary 4
  664. create table t1 
  665. select
  666. bin(130),
  667. oct(130),
  668. conv(130,16,10),
  669. hex(130),
  670. char(130),
  671. format(130,10),
  672. left(_latin2'a',1),
  673. right(_latin2'a',1), 
  674. lcase(_latin2'a'), 
  675. ucase(_latin2'a'),
  676. substring(_latin2'a',1,1),
  677. concat(_latin2'a',_latin2'b'),
  678. lpad(_latin2'a',4,_latin2'b'),
  679. rpad(_latin2'a',4,_latin2'b'),
  680. concat_ws(_latin2'a',_latin2'b'),
  681. make_set(255,_latin2'a',_latin2'b',_latin2'c'),
  682. export_set(255,_latin2'y',_latin2'n',_latin2' '),
  683. trim(_latin2' a '),
  684. ltrim(_latin2' a '),
  685. rtrim(_latin2' a '),
  686. trim(LEADING _latin2' ' FROM _latin2' a '),
  687. trim(TRAILING _latin2' ' FROM _latin2' a '),
  688. trim(BOTH _latin2' ' FROM _latin2' a '),
  689. repeat(_latin2'a',10),
  690. reverse(_latin2'ab'),
  691. quote(_latin2'ab'),
  692. soundex(_latin2'ab'),
  693. substring(_latin2'ab',1),
  694. insert(_latin2'abcd',2,3,_latin2'ef'),
  695. replace(_latin2'abcd',_latin2'b',_latin2'B'),
  696. encode('abcd','ab')
  697. ;
  698. Warnings:
  699. Warning 1265 Data truncated for column 'format(130,10)' at row 1
  700. show create table t1;
  701. Table Create Table
  702. t1 CREATE TABLE `t1` (
  703.   `bin(130)` char(64) NOT NULL default '',
  704.   `oct(130)` char(64) NOT NULL default '',
  705.   `conv(130,16,10)` char(64) NOT NULL default '',
  706.   `hex(130)` char(6) NOT NULL default '',
  707.   `char(130)` char(1) NOT NULL default '',
  708.   `format(130,10)` char(4) NOT NULL default '',
  709.   `left(_latin2'a',1)` char(1) character set latin2 NOT NULL default '',
  710.   `right(_latin2'a',1)` char(1) character set latin2 NOT NULL default '',
  711.   `lcase(_latin2'a')` char(1) character set latin2 NOT NULL default '',
  712.   `ucase(_latin2'a')` char(1) character set latin2 NOT NULL default '',
  713.   `substring(_latin2'a',1,1)` char(1) character set latin2 NOT NULL default '',
  714.   `concat(_latin2'a',_latin2'b')` char(2) character set latin2 NOT NULL default '',
  715.   `lpad(_latin2'a',4,_latin2'b')` char(4) character set latin2 NOT NULL default '',
  716.   `rpad(_latin2'a',4,_latin2'b')` char(4) character set latin2 NOT NULL default '',
  717.   `concat_ws(_latin2'a',_latin2'b')` char(1) character set latin2 NOT NULL default '',
  718.   `make_set(255,_latin2'a',_latin2'b',_latin2'c')` char(5) character set latin2 NOT NULL default '',
  719.   `export_set(255,_latin2'y',_latin2'n',_latin2' ')` char(127) character set latin2 NOT NULL default '',
  720.   `trim(_latin2' a ')` char(3) character set latin2 NOT NULL default '',
  721.   `ltrim(_latin2' a ')` char(3) character set latin2 NOT NULL default '',
  722.   `rtrim(_latin2' a ')` char(3) character set latin2 NOT NULL default '',
  723.   `trim(LEADING _latin2' ' FROM _latin2' a ')` char(3) character set latin2 NOT NULL default '',
  724.   `trim(TRAILING _latin2' ' FROM _latin2' a ')` char(3) character set latin2 NOT NULL default '',
  725.   `trim(BOTH _latin2' ' FROM _latin2' a ')` char(3) character set latin2 NOT NULL default '',
  726.   `repeat(_latin2'a',10)` char(10) character set latin2 NOT NULL default '',
  727.   `reverse(_latin2'ab')` char(2) character set latin2 NOT NULL default '',
  728.   `quote(_latin2'ab')` char(6) character set latin2 NOT NULL default '',
  729.   `soundex(_latin2'ab')` char(4) character set latin2 NOT NULL default '',
  730.   `substring(_latin2'ab',1)` char(2) character set latin2 NOT NULL default '',
  731.   `insert(_latin2'abcd',2,3,_latin2'ef')` char(6) character set latin2 NOT NULL default '',
  732.   `replace(_latin2'abcd',_latin2'b',_latin2'B')` char(4) character set latin2 NOT NULL default '',
  733.   `encode('abcd','ab')` binary(4) NOT NULL default ''
  734. ) ENGINE=MyISAM DEFAULT CHARSET=latin1
  735. drop table t1;
  736. create table t1 (a char character set latin2);
  737. insert into t1 values (null);
  738. select charset(a), collation(a), coercibility(a) from t1;
  739. charset(a) collation(a) coercibility(a)
  740. latin2 latin2_general_ci 2
  741. drop table t1;
  742. select charset(null), collation(null), coercibility(null);
  743. charset(null) collation(null) coercibility(null)
  744. binary binary 5
  745. CREATE TABLE t1 (a int, b int);
  746. CREATE TABLE t2 (a int, b int);
  747. INSERT INTO t1 VALUES (1,1),(2,2);
  748. INSERT INTO t2 VALUES (2,2),(3,3);
  749. select t1.*,t2.* from t1 left join t2 on (t1.b=t2.b)
  750. where collation(t2.a) = _utf8'binary' order by t1.a,t2.a;
  751. a b a b
  752. 1 1 NULL NULL
  753. 2 2 2 2
  754. select t1.*,t2.* from t1 left join t2 on (t1.b=t2.b)
  755. where charset(t2.a) = _utf8'binary' order by t1.a,t2.a;
  756. a b a b
  757. 1 1 NULL NULL
  758. 2 2 2 2
  759. select t1.*,t2.* from t1 left join t2 on (t1.b=t2.b)
  760. where coercibility(t2.a) = 2 order by t1.a,t2.a;
  761. a b a b
  762. 1 1 NULL NULL
  763. 2 2 2 2
  764. DROP TABLE t1, t2;
  765. select SUBSTR('abcdefg',3,2);
  766. SUBSTR('abcdefg',3,2)
  767. cd
  768. select SUBSTRING('abcdefg',3,2);
  769. SUBSTRING('abcdefg',3,2)
  770. cd
  771. select SUBSTR('abcdefg',-3,2) FROM DUAL;
  772. SUBSTR('abcdefg',-3,2)
  773. ef
  774. select SUBSTR('abcdefg',-1,5) FROM DUAL;
  775. SUBSTR('abcdefg',-1,5)
  776. g
  777. select SUBSTR('abcdefg',0,0) FROM DUAL;
  778. SUBSTR('abcdefg',0,0)
  779. select SUBSTR('abcdefg',-1,-1) FROM DUAL;
  780. SUBSTR('abcdefg',-1,-1)
  781. select SUBSTR('abcdefg',1,-1) FROM DUAL;
  782. SUBSTR('abcdefg',1,-1)
  783. create table t7 (s1 char);
  784. select * from t7
  785. where concat(s1 collate latin1_general_ci,s1 collate latin1_swedish_ci) = 'AA';
  786. ERROR HY000: Illegal mix of collations (latin1_general_ci,EXPLICIT) and (latin1_swedish_ci,EXPLICIT) for operation 'concat'
  787. drop table t7;
  788. select substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2),substring_index("1abcd;2abcd;3abcd;4abcd", ';', -2);
  789. substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2) substring_index("1abcd;2abcd;3abcd;4abcd", ';', -2)
  790. 1abcd;2abcd 3abcd;4abcd
  791. explain extended select md5('hello'), sha('abc'), sha1('abc'), soundex(''), 'mood' sounds like 'mud', aes_decrypt(aes_encrypt('abc','1'),'1'),concat('*',space(5),'*'), reverse('abc'), rpad('a',4,'1'), lpad('a',4,'1'),  concat_ws(',','',NULL,'a'),make_set(255,_latin2'a',_latin2'b',_latin2'c'),elt(2,1),locate("a","b",2),format(130,10),char(0),conv(130,16,10),hex(130),binary 'HE', export_set(255,_latin2'y',_latin2'n',_latin2' '),FIELD('b' COLLATE latin1_bin,'A','B'),FIND_IN_SET(_latin1'B',_latin1'a,b,c,d'),collation(conv(130,16,10)), coercibility(conv(130,16,10)),length('ntrb_%\'),bit_length('ntrb_%\'),bit_length('ntrb_%\'),concat('monty',' was here ','again'),length('hello'),char(ascii('h')),ord('h'),quote(1/0),crc32("123"),replace('aaaa','a','b'),insert('txs',2,1,'hi'),left(_latin2'a',1),right(_latin2'a',1),lcase(_latin2'a'),ucase(_latin2'a'),SUBSTR('abcdefg',3,2),substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2),trim(_latin2' a '),ltrim(_latin2' a '),rtrim(_latin2' a '), decode(encode(repeat("a",100000),"monty"),"monty");
  792. id select_type table type possible_keys key key_len ref rows Extra
  793. 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
  794. Warnings:
  795. Note 1003 select md5(_latin1'hello') AS `md5('hello')`,sha(_latin1'abc') AS `sha('abc')`,sha(_latin1'abc') AS `sha1('abc')`,soundex(_latin1'') AS `soundex('')`,(soundex(_latin1'mood') = soundex(_latin1'mud')) AS `'mood' sounds like 'mud'`,aes_decrypt(aes_encrypt(_latin1'abc',_latin1'1'),_latin1'1') AS `aes_decrypt(aes_encrypt('abc','1'),'1')`,concat(_latin1'*',repeat(_latin1' ',5),_latin1'*') AS `concat('*',space(5),'*')`,reverse(_latin1'abc') AS `reverse('abc')`,rpad(_latin1'a',4,_latin1'1') AS `rpad('a',4,'1')`,lpad(_latin1'a',4,_latin1'1') AS `lpad('a',4,'1')`,concat_ws(_latin1',',_latin1'',NULL,_latin1'a') AS `concat_ws(',','',NULL,'a')`,make_set(255,_latin2'a',_latin2'b',_latin2'c') AS `make_set(255,_latin2'a',_latin2'b',_latin2'c')`,elt(2,1) AS `elt(2,1)`,locate(_latin1'a',_latin1'b',2) AS `locate("a","b",2)`,format(130,10) AS `format(130,10)`,char(0) AS `char(0)`,conv(130,16,10) AS `conv(130,16,10)`,hex(130) AS `hex(130)`,cast(_latin1'HE' as char charset binary) AS `binary 'HE'`,export_set(255,_latin2'y',_latin2'n',_latin2' ') AS `export_set(255,_latin2'y',_latin2'n',_latin2' ')`,field((_latin1'b' collate _latin1'latin1_bin'),_latin1'A',_latin1'B') AS `FIELD('b' COLLATE latin1_bin,'A','B')`,find_in_set(_latin1'B',_latin1'a,b,c,d') AS `FIND_IN_SET(_latin1'B',_latin1'a,b,c,d')`,collation(conv(130,16,10)) AS `collation(conv(130,16,10))`,coercibility(conv(130,16,10)) AS `coercibility(conv(130,16,10))`,length(_latin1'n r\_\%\') AS `length('ntrb_%\')`,bit_length(_latin1'n r\_\%\') AS `bit_length('ntrb_%\')`,bit_length(_latin1'n r\_\%\') AS `bit_length('ntrb_%\')`,concat(_latin1'monty',_latin1' was here ',_latin1'again') AS `concat('monty',' was here ','again')`,length(_latin1'hello') AS `length('hello')`,char(ascii(_latin1'h')) AS `char(ascii('h'))`,ord(_latin1'h') AS `ord('h')`,quote((1 / 0)) AS `quote(1/0)`,crc32(_latin1'123') AS `crc32("123")`,replace(_latin1'aaaa',_latin1'a',_latin1'b') AS `replace('aaaa','a','b')`,insert(_latin1'txs',2,1,_latin1'hi') AS `insert('txs',2,1,'hi')`,left(_latin2'a',1) AS `left(_latin2'a',1)`,right(_latin2'a',1) AS `right(_latin2'a',1)`,lcase(_latin2'a') AS `lcase(_latin2'a')`,ucase(_latin2'a') AS `ucase(_latin2'a')`,substr(_latin1'abcdefg',3,2) AS `SUBSTR('abcdefg',3,2)`,substr_index(_latin1'1abcd;2abcd;3abcd;4abcd',_latin1';',2) AS `substring_index("1abcd;2abcd;3abcd;4abcd", ';', 2)`,trim(_latin2' a ') AS `trim(_latin2' a ')`,ltrim(_latin2' a ') AS `ltrim(_latin2' a ')`,rtrim(_latin2' a ') AS `rtrim(_latin2' a ')`,decode(encode(repeat(_latin1'a',100000))) AS `decode(encode(repeat("a",100000),"monty"),"monty")`
  796. SELECT lpad(12345, 5, "#");
  797. lpad(12345, 5, "#")
  798. 12345
  799. SELECT conv(71, 10, 36), conv('1Z', 36, 10);
  800. conv(71, 10, 36) conv('1Z', 36, 10)
  801. 1Z 71
  802. create table t1 (id int(1), str varchar(10)) DEFAULT CHARSET=utf8;
  803. insert into t1 values (1,'aaaaaaaaaa'), (2,'bbbbbbbbbb');
  804. create table t2 (id int(1), str varchar(10)) DEFAULT CHARSET=utf8;
  805. insert into t2 values (1,'cccccccccc'), (2,'dddddddddd');
  806. select substring(concat(t1.str, t2.str), 1, 15) "name" from t1, t2 
  807. where t2.id=t1.id order by name;
  808. name
  809. aaaaaaaaaaccccc
  810. bbbbbbbbbbddddd
  811. drop table t1, t2;
  812. create table t1 (c1 INT, c2 INT UNSIGNED);
  813. insert into t1 values ('21474836461','21474836461');
  814. Warnings:
  815. Warning 1265 Data truncated for column 'c1' at row 1
  816. Warning 1265 Data truncated for column 'c2' at row 1
  817. insert into t1 values ('-21474836461','-21474836461');
  818. Warnings:
  819. Warning 1265 Data truncated for column 'c1' at row 1
  820. Warning 1265 Data truncated for column 'c2' at row 1
  821. show warnings;
  822. Level Code Message
  823. Warning 1265 Data truncated for column 'c1' at row 1
  824. Warning 1265 Data truncated for column 'c2' at row 1
  825. select * from t1;
  826. c1 c2
  827. 2147483647 4294967295
  828. -2147483648 0
  829. drop table t1;
  830. select left(1234, 3) + 0;
  831. left(1234, 3) + 0
  832. 123
  833. create table t1 (a int not null primary key, b varchar(40), c datetime);
  834. 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');
  835. select count(*) as total, left(c,10) as reg from t1 group by reg order by reg desc limit 0,12;
  836. total reg
  837. 10 2004-12-10
  838. drop table t1;
  839. select trim(null from 'kate') as "must_be_null";
  840. must_be_null
  841. NULL
  842. select trim('xyz' from null) as "must_be_null";
  843. must_be_null
  844. NULL
  845. CREATE TABLE t1 (
  846. id int(11) NOT NULL auto_increment,
  847. a bigint(20) unsigned default NULL,
  848. PRIMARY KEY  (id)
  849. ) ENGINE=MyISAM;
  850. INSERT INTO t1 VALUES
  851. ('0','16307858876001849059');
  852. SELECT CONV('e251273eb74a8ee3', 16, 10);
  853. CONV('e251273eb74a8ee3', 16, 10)
  854. 16307858876001849059
  855. EXPLAIN 
  856. SELECT id
  857. FROM t1
  858. WHERE a = 16307858876001849059;
  859. id select_type table type possible_keys key key_len ref rows Extra
  860. 1 SIMPLE t1 system NULL NULL NULL NULL 1
  861. EXPLAIN 
  862. SELECT id
  863. FROM t1
  864. WHERE a = CONV('e251273eb74a8ee3', 16, 10);
  865. id select_type table type possible_keys key key_len ref rows Extra
  866. 1 SIMPLE t1 system NULL NULL NULL NULL 1
  867. DROP TABLE t1;
  868. SELECT CHAR(NULL,121,83,81,'76') as my_column;
  869. my_column
  870. ySQL
  871. SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column;
  872. my_column
  873. 4
  874. CREATE TABLE t1 (id int PRIMARY KEY, str char(255) NOT NULL);
  875. CREATE TABLE t2 (id int NOT NULL UNIQUE);
  876. INSERT INTO t2 VALUES (1),(2);
  877. INSERT INTO t1 VALUES (1, aes_encrypt('foo', 'bar'));
  878. INSERT INTO t1 VALUES (2, 'not valid');
  879. SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id;
  880. id aes_decrypt(str, 'bar')
  881. 1 foo
  882. 2 NULL
  883. SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id
  884. ORDER BY t1.id;
  885. id aes_decrypt(str, 'bar')
  886. 1 foo
  887. 2 NULL
  888. DROP TABLE t1, t2;
  889. select field(0,NULL,1,0), field("",NULL,"bar",""), field(0.0,NULL,1.0,0.0);
  890. field(0,NULL,1,0) field("",NULL,"bar","") field(0.0,NULL,1.0,0.0)
  891. 3 3 3
  892. select field(NULL,1,2,NULL), field(NULL,1,2,0);
  893. field(NULL,1,2,NULL) field(NULL,1,2,0)
  894. 0 0
  895. CREATE TABLE t1 (str varchar(20) PRIMARY KEY);
  896. CREATE TABLE t2 (num int primary key);
  897. INSERT INTO t1 VALUES ('notnumber');
  898. INSERT INTO t2 VALUES (0), (1);
  899. SELECT * FROM t1, t2 WHERE num=str;
  900. str num
  901. notnumber 0
  902. SELECT * FROM t1, t2 WHERE num=substring(str from 1 for 6);
  903. str num
  904. notnumber 0
  905. DROP TABLE t1,t2;
  906. CREATE TABLE t1(
  907. id int(11) NOT NULL auto_increment,
  908. pc int(11) NOT NULL default '0',
  909. title varchar(20) default NULL,
  910. PRIMARY KEY (id)
  911. );
  912. INSERT INTO t1 VALUES
  913. (1, 0, 'Main'),
  914. (2, 1, 'Toys'),
  915. (3, 1, 'Games');
  916. SELECT t1.id, CONCAT_WS('->', t3.title, t2.title, t1.title) as col1
  917. FROM t1 LEFT JOIN t1 AS t2 ON t1.pc=t2.id
  918. LEFT JOIN t1 AS t3 ON t2.pc=t3.id;
  919. id col1
  920. 1 Main
  921. 2 Main->Toys
  922. 3 Main->Games
  923. SELECT t1.id, CONCAT_WS('->', t3.title, t2.title, t1.title) as col1
  924. FROM t1 LEFT JOIN t1 AS t2 ON t1.pc=t2.id
  925. LEFT JOIN t1 AS t3 ON t2.pc=t3.id
  926. WHERE CONCAT_WS('->', t3.title, t2.title, t1.title) LIKE '%Toys%';
  927. id col1
  928. 2 Main->Toys
  929. DROP TABLE t1;
  930. CREATE TABLE t1(
  931. trackid     int(10) unsigned NOT NULL auto_increment,
  932. trackname   varchar(100) NOT NULL default '',
  933. PRIMARY KEY (trackid)
  934. );
  935. CREATE TABLE t2(
  936. artistid    int(10) unsigned NOT NULL auto_increment,
  937. artistname  varchar(100) NOT NULL default '',
  938. PRIMARY KEY (artistid)
  939. );
  940. CREATE TABLE t3(
  941. trackid     int(10) unsigned NOT NULL,
  942. artistid    int(10) unsigned NOT NULL,
  943. PRIMARY KEY (trackid,artistid)
  944. );
  945. INSERT INTO t1 VALUES (1, 'April In Paris'), (2, 'Autumn In New York');
  946. INSERT INTO t2 VALUES (1, 'Vernon Duke');
  947. INSERT INTO t3 VALUES (1,1);
  948. SELECT CONCAT_WS(' ', trackname, artistname) trackname, artistname
  949. FROM t1 LEFT JOIN t3 ON t1.trackid=t3.trackid
  950. LEFT JOIN t2 ON t2.artistid=t3.artistid
  951. WHERE CONCAT_WS(' ', trackname, artistname) LIKE '%In%';
  952. trackname artistname
  953. April In Paris Vernon Duke Vernon Duke
  954. Autumn In New York NULL
  955. DROP TABLE t1,t2,t3;
  956. create table t1 (b varchar(5));
  957. insert t1 values ('ab'), ('abc'), ('abcd'), ('abcde');
  958. select *,substring(b,1),substring(b,-1),substring(b,-2),substring(b,-3),substring(b,-4),substring(b,-5) from t1;
  959. b substring(b,1) substring(b,-1) substring(b,-2) substring(b,-3) substring(b,-4) substring(b,-5)
  960. ab ab b ab
  961. abc abc c bc abc
  962. abcd abcd d cd bcd abcd
  963. abcde abcde e de cde bcde abcde
  964. select * from (select *,substring(b,1),substring(b,-1),substring(b,-2),substring(b,-3),substring(b,-4),substring(b,-5) from t1) t;
  965. b substring(b,1) substring(b,-1) substring(b,-2) substring(b,-3) substring(b,-4) substring(b,-5)
  966. ab ab b ab
  967. abc abc c bc abc
  968. abcd abcd d cd bcd abcd
  969. abcde abcde e de cde bcde abcde
  970. drop table t1;
  971. select hex(29223372036854775809), hex(-29223372036854775809);
  972. hex(29223372036854775809) hex(-29223372036854775809)
  973. FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
  974. create table t1 (i int);
  975. insert into t1 values (1000000000),(1);
  976. select lpad(i, 7, ' ') as t from t1;
  977. Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
  978. def t 253 7 7 Y 128 31 63
  979. t
  980. 1000000
  981.       1
  982. select rpad(i, 7, ' ') as t from t1;
  983. Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
  984. def t 253 7 7 Y 128 31 63
  985. t
  986. 1000000
  987. 1      
  988. drop table t1;