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

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1;
  2. select null,N,isnull(null),isnull(1/0),isnull(1/0 = null),ifnull(null,1),ifnull(null,"TRUE"),ifnull("TRUE","ERROR"),1/0 is null,1 is not null;
  3. NULL NULL isnull(null) isnull(1/0) isnull(1/0 = null) ifnull(null,1) ifnull(null,"TRUE") ifnull("TRUE","ERROR") 1/0 is null 1 is not null
  4. NULL NULL 1 1 1 1 TRUE TRUE 1 1
  5. explain extended select null,N,isnull(null),isnull(1/0),isnull(1/0 = null),ifnull(null,1),ifnull(null,"TRUE"),ifnull("TRUE","ERROR"),1/0 is null,1 is not null;
  6. id select_type table type possible_keys key key_len ref rows Extra
  7. 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
  8. Warnings:
  9. Note 1003 select NULL AS `NULL`,NULL AS `NULL`,isnull(NULL) AS `isnull(null)`,isnull((1 / 0)) AS `isnull(1/0)`,isnull(((1 / 0) = NULL)) AS `isnull(1/0 = null)`,ifnull(NULL,1) AS `ifnull(null,1)`,ifnull(NULL,_latin1'TRUE') AS `ifnull(null,"TRUE")`,ifnull(_latin1'TRUE',_latin1'ERROR') AS `ifnull("TRUE","ERROR")`,isnull((1 / 0)) AS `1/0 is null`,(1 is not null) AS `1 is not null`
  10. select 1 | NULL,1 & NULL,1+NULL,1-NULL;
  11. 1 | NULL 1 & NULL 1+NULL 1-NULL
  12. NULL NULL NULL NULL
  13. select NULL=NULL,NULL<>NULL,IFNULL(NULL,1.1)+0,IFNULL(NULL,1) | 0;
  14. NULL=NULL NULL<>NULL IFNULL(NULL,1.1)+0 IFNULL(NULL,1) | 0
  15. NULL NULL 1.1 1
  16. select strcmp("a",NULL),(1<NULL)+0.0,NULL regexp "a",null like "a%","a%" like null;
  17. strcmp("a",NULL) (1<NULL)+0.0 NULL regexp "a" null like "a%" "a%" like null
  18. NULL NULL NULL NULL NULL
  19. select concat("a",NULL),replace(NULL,"a","b"),replace("string","i",NULL),replace("string",NULL,"i"),insert("abc",1,1,NULL),left(NULL,1);
  20. concat("a",NULL) replace(NULL,"a","b") replace("string","i",NULL) replace("string",NULL,"i") insert("abc",1,1,NULL) left(NULL,1)
  21. NULL NULL NULL NULL NULL NULL
  22. select repeat("a",0),repeat("ab",5+5),repeat("ab",-1),reverse(NULL);
  23. repeat("a",0) repeat("ab",5+5) repeat("ab",-1) reverse(NULL)
  24. abababababababababab NULL
  25. select field(NULL,"a","b","c");
  26. field(NULL,"a","b","c")
  27. 0
  28. select 2 between null and 1,2 between 3 AND NULL,NULL between 1 and 2,2 between NULL and 3, 2 between 1 AND null;
  29. 2 between null and 1 2 between 3 AND NULL NULL between 1 and 2 2 between NULL and 3 2 between 1 AND null
  30. 0 0 NULL NULL NULL
  31. explain extended select 2 between null and 1,2 between 3 AND NULL,NULL between 1 and 2,2 between NULL and 3, 2 between 1 AND null;
  32. id select_type table type possible_keys key key_len ref rows Extra
  33. 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
  34. Warnings:
  35. Note 1003 select (2 between NULL and 1) AS `2 between null and 1`,(2 between 3 and NULL) AS `2 between 3 AND NULL`,(NULL between 1 and 2) AS `NULL between 1 and 2`,(2 between NULL and 3) AS `2 between NULL and 3`,(2 between 1 and NULL) AS `2 between 1 AND null`
  36. SELECT NULL AND NULL, 1 AND NULL, NULL AND 1, NULL OR NULL, 0 OR NULL, NULL OR 0;
  37. NULL AND NULL 1 AND NULL NULL AND 1 NULL OR NULL 0 OR NULL NULL OR 0
  38. NULL NULL NULL NULL NULL NULL
  39. SELECT (NULL OR NULL) IS NULL;
  40. (NULL OR NULL) IS NULL
  41. 1
  42. select NULL AND 0, 0 and NULL;
  43. NULL AND 0 0 and NULL
  44. 0 0
  45. select inet_ntoa(null),inet_aton(null),inet_aton("122.256"),inet_aton("122.226."),inet_aton("");
  46. inet_ntoa(null) inet_aton(null) inet_aton("122.256") inet_aton("122.226.") inet_aton("")
  47. NULL NULL NULL NULL NULL
  48. explain extended select inet_ntoa(null),inet_aton(null),inet_aton("122.256"),inet_aton("122.226."),inet_aton("");
  49. id select_type table type possible_keys key key_len ref rows Extra
  50. 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
  51. Warnings:
  52. Note 1003 select inet_ntoa(NULL) AS `inet_ntoa(null)`,inet_aton(NULL) AS `inet_aton(null)`,inet_aton(_latin1'122.256') AS `inet_aton("122.256")`,inet_aton(_latin1'122.226.') AS `inet_aton("122.226.")`,inet_aton(_latin1'') AS `inet_aton("")`
  53. create table t1 (x int);
  54. insert into t1 values (null);
  55. select * from t1 where x != 0;
  56. x
  57. drop table t1;
  58. CREATE TABLE t1 (
  59. indexed_field int default NULL,
  60. KEY indexed_field (indexed_field)
  61. );
  62. INSERT INTO t1 VALUES (NULL),(NULL);
  63. SELECT * FROM t1 WHERE indexed_field=NULL;
  64. indexed_field
  65. SELECT * FROM t1 WHERE indexed_field IS NULL;
  66. indexed_field
  67. NULL
  68. NULL
  69. SELECT * FROM t1 WHERE indexed_field<=>NULL;
  70. indexed_field
  71. NULL
  72. NULL
  73. DROP TABLE t1;
  74. create table t1 (a int, b int) engine=myisam;
  75. insert into t1 values(20,null);
  76. select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
  77. t2.b=t3.a;
  78. b ifnull(t2.b,"this is null")
  79. NULL this is null
  80. select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
  81. t2.b=t3.a order by 1;
  82. b ifnull(t2.b,"this is null")
  83. NULL this is null
  84. insert into t1 values(10,null);
  85. select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on
  86. t2.b=t3.a order by 1;
  87. b ifnull(t2.b,"this is null")
  88. NULL this is null
  89. NULL this is null
  90. drop table t1;
  91. CREATE TABLE t1 (a varchar(16) NOT NULL, b smallint(6) NOT NULL, c datetime NOT NULL, d smallint(6) NOT NULL);
  92. INSERT INTO t1 SET a = "", d= "2003-01-14 03:54:55";
  93. Warnings:
  94. Warning 1265 Data truncated for column 'd' at row 1
  95. UPDATE t1 SET d=1/NULL;
  96. Warnings:
  97. Warning 1265 Data truncated for column 'd' at row 1
  98. UPDATE t1 SET d=NULL;
  99. Warnings:
  100. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'd' at row 1
  101. INSERT INTO t1 (a) values (null);
  102. ERROR 23000: Column 'a' cannot be null
  103. INSERT INTO t1 (a) values (1/null);
  104. ERROR 23000: Column 'a' cannot be null
  105. INSERT INTO t1 (a) values (null),(null);
  106. Warnings:
  107. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'a' at row 1
  108. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'a' at row 2
  109. INSERT INTO t1 (b) values (null);
  110. ERROR 23000: Column 'b' cannot be null
  111. INSERT INTO t1 (b) values (1/null);
  112. ERROR 23000: Column 'b' cannot be null
  113. INSERT INTO t1 (b) values (null),(null);
  114. Warnings:
  115. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'b' at row 1
  116. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'b' at row 2
  117. INSERT INTO t1 (c) values (null);
  118. ERROR 23000: Column 'c' cannot be null
  119. INSERT INTO t1 (c) values (1/null);
  120. ERROR 23000: Column 'c' cannot be null
  121. INSERT INTO t1 (c) values (null),(null);
  122. Warnings:
  123. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'c' at row 1
  124. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'c' at row 2
  125. INSERT INTO t1 (d) values (null);
  126. ERROR 23000: Column 'd' cannot be null
  127. INSERT INTO t1 (d) values (1/null);
  128. ERROR 23000: Column 'd' cannot be null
  129. INSERT INTO t1 (d) values (null),(null);
  130. Warnings:
  131. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'd' at row 1
  132. Warning 1263 Data truncated; NULL supplied to NOT NULL column 'd' at row 2
  133. select * from t1;
  134. a b c d
  135. 0 0000-00-00 00:00:00 0
  136. 0 0000-00-00 00:00:00 0
  137. 0 0000-00-00 00:00:00 0
  138. 0 0000-00-00 00:00:00 0
  139. 0 0000-00-00 00:00:00 0
  140. 0 0000-00-00 00:00:00 0
  141. 0 0000-00-00 00:00:00 0
  142. 0 0000-00-00 00:00:00 0
  143. 0 0000-00-00 00:00:00 0
  144. drop table t1;
  145. create table t1 (a int not null, b int not null, index idx(a));
  146. insert into t1 values
  147. (1,1), (2,2), (3,3), (4,4), (5,5), (6,6),
  148. (7,7), (8,8), (9,9), (10,10), (11,11), (12,12);
  149. explain select * from t1 where a between 2 and 3;
  150. id select_type table type possible_keys key key_len ref rows Extra
  151. 1 SIMPLE t1 range idx idx 4 NULL 2 Using where
  152. explain select * from t1 where a between 2 and 3 or b is null;
  153. id select_type table type possible_keys key key_len ref rows Extra
  154. 1 SIMPLE t1 range idx idx 4 NULL 2 Using where
  155. drop table t1;
  156. select cast(NULL as signed);
  157. cast(NULL as signed)
  158. NULL
  159. create table t1(i int, key(i));
  160. insert into t1 values(1);
  161. insert into t1 select i*2 from t1;
  162. insert into t1 select i*2 from t1;
  163. insert into t1 select i*2 from t1;
  164. insert into t1 select i*2 from t1;
  165. insert into t1 select i*2 from t1;
  166. insert into t1 select i*2 from t1;
  167. insert into t1 select i*2 from t1;
  168. insert into t1 select i*2 from t1;
  169. insert into t1 select i*2 from t1;
  170. explain select * from t1 where i=2 or i is null;
  171. id select_type table type possible_keys key key_len ref rows Extra
  172. 1 SIMPLE t1 ref_or_null i i 5 const 10 Using where; Using index
  173. alter table t1 change i i int not null;
  174. explain select * from t1 where i=2 or i is null;
  175. id select_type table type possible_keys key key_len ref rows Extra
  176. 1 SIMPLE t1 ref i i 4 const 7 Using where; Using index
  177. drop table t1;
  178. set names latin2;
  179. create table t1 select
  180. null as c00,
  181. if(1, null, 'string') as c01,
  182. if(0, null, 'string') as c02,
  183. ifnull(null, 'string') as c03,
  184. ifnull('string', null) as c04,
  185. case when 0 then null else 'string' end as c05,
  186. case when 1 then null else 'string' end as c06,
  187. coalesce(null, 'string') as c07,
  188. coalesce('string', null) as c08,
  189. least('string',null) as c09,
  190. least(null, 'string') as c10,
  191. greatest('string',null) as c11,
  192. greatest(null, 'string') as c12,
  193. nullif('string', null) as c13,
  194. nullif(null, 'string') as c14,
  195. trim('string' from null) as c15,
  196. trim(null from 'string') as c16,
  197. substring_index('string', null, 1) as c17,
  198. substring_index(null, 'string', 1) as c18,
  199. elt(1, null, 'string') as c19,
  200. elt(1, 'string', null) as c20,
  201. concat('string', null) as c21,
  202. concat(null, 'string') as c22,
  203. concat_ws('sep', 'string', null) as c23,
  204. concat_ws('sep', null, 'string') as c24,
  205. concat_ws(null, 'string', 'string') as c25,
  206. make_set(3, 'string', null) as c26,
  207. make_set(3, null, 'string') as c27,
  208. export_set(3, null, 'off', 'sep') as c29,
  209. export_set(3, 'on', null, 'sep') as c30,
  210. export_set(3, 'on', 'off', null) as c31,
  211. replace(null, 'from', 'to') as c32,
  212. replace('str', null, 'to') as c33,
  213. replace('str', 'from', null) as c34,
  214. insert('str', 1, 2, null) as c35,
  215. insert(null, 1, 2, 'str') as c36,
  216. lpad('str', 10, null) as c37,
  217. rpad(null, 10, 'str') as c38;
  218. show create table t1;
  219. Table Create Table
  220. t1 CREATE TABLE `t1` (
  221.   `c00` binary(0) default NULL,
  222.   `c01` varchar(6) character set latin2 default NULL,
  223.   `c02` varchar(6) character set latin2 default NULL,
  224.   `c03` varchar(6) character set latin2 NOT NULL default '',
  225.   `c04` varchar(6) character set latin2 default NULL,
  226.   `c05` varchar(6) character set latin2 default NULL,
  227.   `c06` varchar(6) character set latin2 default NULL,
  228.   `c07` varchar(6) character set latin2 default NULL,
  229.   `c08` varchar(6) character set latin2 default NULL,
  230.   `c09` varchar(6) character set latin2 NOT NULL default '',
  231.   `c10` varchar(6) character set latin2 NOT NULL default '',
  232.   `c11` varchar(6) character set latin2 NOT NULL default '',
  233.   `c12` varchar(6) character set latin2 NOT NULL default '',
  234.   `c13` varchar(6) character set latin2 default NULL,
  235.   `c14` char(0) character set latin2 default NULL,
  236.   `c15` char(0) character set latin2 default NULL,
  237.   `c16` varchar(6) character set latin2 default NULL,
  238.   `c17` varchar(6) character set latin2 default NULL,
  239.   `c18` char(0) character set latin2 default NULL,
  240.   `c19` varchar(6) character set latin2 default NULL,
  241.   `c20` varchar(6) character set latin2 default NULL,
  242.   `c21` varchar(6) character set latin2 default NULL,
  243.   `c22` varchar(6) character set latin2 default NULL,
  244.   `c23` varchar(9) character set latin2 default NULL,
  245.   `c24` varchar(9) character set latin2 default NULL,
  246.   `c25` varchar(12) character set latin2 default NULL,
  247.   `c26` varchar(7) character set latin2 default NULL,
  248.   `c27` varchar(7) character set latin2 default NULL,
  249.   `c29` longtext character set latin2,
  250.   `c30` longtext character set latin2,
  251.   `c31` varchar(192) character set latin2 default NULL,
  252.   `c32` char(0) character set latin2 default NULL,
  253.   `c33` char(3) character set latin2 default NULL,
  254.   `c34` char(3) character set latin2 default NULL,
  255.   `c35` char(3) character set latin2 default NULL,
  256.   `c36` char(3) character set latin2 default NULL,
  257.   `c37` varchar(10) character set latin2 default NULL,
  258.   `c38` varchar(10) character set latin2 default NULL
  259. ) ENGINE=MyISAM DEFAULT CHARSET=latin1
  260. drop table t1;
  261. select 
  262. case 'str' when 'STR' then 'str' when null then 'null' end as c01,
  263. case 'str' when null then 'null' when 'STR' then 'str' end as c02,
  264. field(null, 'str1', 'str2') as c03,
  265. field('str1','STR1', null) as c04,
  266. field('str1', null, 'STR1') as c05,
  267. 'string' in ('STRING', null) as c08,
  268. 'string' in (null, 'STRING') as c09;
  269. c01 c02 c03 c04 c05 c08 c09
  270. str str 0 1 2 1 1
  271. set names latin1;