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

MySQL数据库

开发平台:

Visual C++

  1. #
  2. # Testing if SET and similar functions
  3. #
  4. select interval(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),field("IBM","NCA","ICL","SUN","IBM","DIGITAL"),field("A","B","C"),elt(2,"ONE","TWO","THREE"),interval(0,1,2,3,4),elt(1,1,2,3)|0,elt(1,1.1,1.2,1.3)+0;
  5. explain extended select INTERVAL(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),field("IBM","NCA","ICL","SUN","IBM","DIGITAL"),field("A","B","C"),elt(2,"ONE","TWO","THREE"),interval(0,1,2,3,4),elt(1,1,2,3)|0,elt(1,1.1,1.2,1.3)+0;
  6. # Test 8 and 9 values (Bug #1561)
  7. SELECT INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56);
  8. SELECT INTERVAL(13, 7, 14, 21, 28, 35, 42, 49, 56, 77);
  9. select find_in_set("b","a,b,c"),find_in_set("c","a,b,c"),find_in_set("dd","a,bbb,dd"),find_in_set("bbb","a,bbb,dd");
  10. select find_in_set("d","a,b,c"),find_in_set("dd","a,bbb,d"),find_in_set("bb","a,bbb,dd");
  11. select make_set(0,'a','b','c'),make_set(-1,'a','b','c'),make_set(1,'a','b','c'),make_set(2,'a','b','c'),make_set(1+2,concat('a','b'),'c');
  12. select make_set(NULL,'a','b','c'),make_set(1|4,'a',NULL,'c'),make_set(1+2,'a',NULL,'c');
  13. select export_set(9,"Y","N","-",5),export_set(9,"Y","N"),export_set(9,"Y","N","");
  14. #
  15. # Wrong usage of functions
  16. #
  17. select elt(2,1),field(NULL,"a","b","c");
  18. select find_in_set("","a,b,c"),find_in_set("","a,b,c,"),find_in_set("",",a,b,c");
  19. select find_in_set("abc","abc"),find_in_set("ab","abc"),find_in_set("abcd","abc");
  20. select interval(null, 1, 10, 100);
  21. #
  22. # test for a bug with elt()
  23. #
  24. --disable_warnings
  25. drop table if exists t1,t2;
  26. --enable_warnings
  27. create  table t1 (id int(10) not null unique);
  28. create  table t2 (id int(10) not null primary key, val int(10) not null);
  29. insert into t1 values (1),(2),(4);
  30. insert into t2 values (1,1),(2,1),(3,1),(4,2);
  31. select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id;
  32. select one.id, elt(two.val,'one','two') from t1 one, t2 two where two.id=one.id order by one.id;
  33. drop table t1,t2;
  34. #
  35. # Bug4340: find_in_set is case insensitive even on binary operators
  36. #
  37. select find_in_set(binary 'a',binary 'A,B,C');
  38. select find_in_set('a',binary 'A,B,C');
  39. select find_in_set(binary 'a', 'A,B,C');
  40. #
  41. # Bug5513:FIND_IN_SET fails if set ends with a comma
  42. #
  43. select find_in_set('1','3,1,');
  44. # End of 4.1 tests