📄 null.result
字号:
drop table if exists t1;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;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 nullNULL NULL 1 1 1 1 TRUE TRUE 1 1explain 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;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables usedWarnings: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`select 1 | NULL,1 & NULL,1+NULL,1-NULL;1 | NULL 1 & NULL 1+NULL 1-NULLNULL NULL NULL NULLselect NULL=NULL,NULL<>NULL,IFNULL(NULL,1.1)+0,IFNULL(NULL,1) | 0;NULL=NULL NULL<>NULL IFNULL(NULL,1.1)+0 IFNULL(NULL,1) | 0NULL NULL 1.1 1select strcmp("a",NULL),(1<NULL)+0.0,NULL regexp "a",null like "a%","a%" like null;strcmp("a",NULL) (1<NULL)+0.0 NULL regexp "a" null like "a%" "a%" like nullNULL NULL NULL NULL NULLselect concat("a",NULL),replace(NULL,"a","b"),replace("string","i",NULL),replace("string",NULL,"i"),insert("abc",1,1,NULL),left(NULL,1);concat("a",NULL) replace(NULL,"a","b") replace("string","i",NULL) replace("string",NULL,"i") insert("abc",1,1,NULL) left(NULL,1)NULL NULL NULL NULL NULL NULLselect repeat("a",0),repeat("ab",5+5),repeat("ab",-1),reverse(NULL);repeat("a",0) repeat("ab",5+5) repeat("ab",-1) reverse(NULL) abababababababababab NULLselect field(NULL,"a","b","c");field(NULL,"a","b","c")0select 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;2 between null and 1 2 between 3 AND NULL NULL between 1 and 2 2 between NULL and 3 2 between 1 AND null0 0 NULL NULL NULLexplain 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;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables usedWarnings: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`SELECT NULL AND NULL, 1 AND NULL, NULL AND 1, NULL OR NULL, 0 OR NULL, NULL OR 0;NULL AND NULL 1 AND NULL NULL AND 1 NULL OR NULL 0 OR NULL NULL OR 0NULL NULL NULL NULL NULL NULLSELECT (NULL OR NULL) IS NULL;(NULL OR NULL) IS NULL1select NULL AND 0, 0 and NULL;NULL AND 0 0 and NULL0 0select inet_ntoa(null),inet_aton(null),inet_aton("122.256"),inet_aton("122.226."),inet_aton("");inet_ntoa(null) inet_aton(null) inet_aton("122.256") inet_aton("122.226.") inet_aton("")NULL NULL NULL NULL NULLexplain extended select inet_ntoa(null),inet_aton(null),inet_aton("122.256"),inet_aton("122.226."),inet_aton("");id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables usedWarnings: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("")`create table t1 (x int);insert into t1 values (null);select * from t1 where x != 0;xdrop table t1;CREATE TABLE t1 (indexed_field int default NULL,KEY indexed_field (indexed_field));INSERT INTO t1 VALUES (NULL),(NULL);SELECT * FROM t1 WHERE indexed_field=NULL;indexed_fieldSELECT * FROM t1 WHERE indexed_field IS NULL;indexed_fieldNULLNULLSELECT * FROM t1 WHERE indexed_field<=>NULL;indexed_fieldNULLNULLDROP TABLE t1;create table t1 (a int, b int) engine=myisam;insert into t1 values(20,null);select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 ont2.b=t3.a;b ifnull(t2.b,"this is null")NULL this is nullselect t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 ont2.b=t3.a order by 1;b ifnull(t2.b,"this is null")NULL this is nullinsert into t1 values(10,null);select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 ont2.b=t3.a order by 1;b ifnull(t2.b,"this is null")NULL this is nullNULL this is nulldrop table t1;CREATE TABLE t1 (a varchar(16) NOT NULL default '', b smallint(6) NOT NULL default 0, c datetime NOT NULL default '0000-00-00 00:00:00', d smallint(6) NOT NULL default 0);INSERT INTO t1 SET a = "", d= "2003-01-14 03:54:55";Warnings:Warning 1265 Data truncated for column 'd' at row 1UPDATE t1 SET d=1/NULL;Warnings:Warning 1265 Data truncated for column 'd' at row 1UPDATE t1 SET d=NULL;Warnings:Warning 1048 Column 'd' cannot be nullINSERT INTO t1 (a) values (null);ERROR 23000: Column 'a' cannot be nullINSERT INTO t1 (a) values (1/null);ERROR 23000: Column 'a' cannot be nullINSERT INTO t1 (a) values (null),(null);Warnings:Warning 1048 Column 'a' cannot be nullWarning 1048 Column 'a' cannot be nullINSERT INTO t1 (b) values (null);ERROR 23000: Column 'b' cannot be nullINSERT INTO t1 (b) values (1/null);ERROR 23000: Column 'b' cannot be nullINSERT INTO t1 (b) values (null),(null);Warnings:Warning 1048 Column 'b' cannot be nullWarning 1048 Column 'b' cannot be nullINSERT INTO t1 (c) values (null);ERROR 23000: Column 'c' cannot be nullINSERT INTO t1 (c) values (1/null);ERROR 23000: Column 'c' cannot be nullINSERT INTO t1 (c) values (null),(null);Warnings:Warning 1048 Column 'c' cannot be nullWarning 1048 Column 'c' cannot be nullINSERT INTO t1 (d) values (null);ERROR 23000: Column 'd' cannot be nullINSERT INTO t1 (d) values (1/null);ERROR 23000: Column 'd' cannot be nullINSERT INTO t1 (d) values (null),(null);Warnings:Warning 1048 Column 'd' cannot be nullWarning 1048 Column 'd' cannot be nullselect * from t1;a b c d 0 0000-00-00 00:00:00 0 0 0000-00-00 00:00:00 0 0 0000-00-00 00:00:00 0 0 0000-00-00 00:00:00 0 0 0000-00-00 00:00:00 0 0 0000-00-00 00:00:00 0 0 0000-00-00 00:00:00 0 0 0000-00-00 00:00:00 0 0 0000-00-00 00:00:00 0drop table t1;create table t1 (a int not null, b int not null, index idx(a));insert into t1 values(1,1), (2,2), (3,3), (4,4), (5,5), (6,6),(7,7), (8,8), (9,9), (10,10), (11,11), (12,12);explain select * from t1 where a between 2 and 3;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 range idx idx 4 NULL 2 Using whereexplain select * from t1 where a between 2 and 3 or b is null;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 range idx idx 4 NULL 2 Using wheredrop table t1;select cast(NULL as signed);cast(NULL as signed)NULLcreate table t1(i int, key(i));insert into t1 values(1);insert into t1 select i*2 from t1;insert into t1 select i*2 from t1;insert into t1 select i*2 from t1;insert into t1 select i*2 from t1;insert into t1 select i*2 from t1;insert into t1 select i*2 from t1;insert into t1 select i*2 from t1;insert into t1 select i*2 from t1;insert into t1 select i*2 from t1;insert into t1 values(null);explain select * from t1 where i=2 or i is null;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref_or_null i i 5 const 9 Using where; Using indexselect count(*) from t1 where i=2 or i is null;count(*)10alter table t1 change i i int not null;Warnings:Warning 1265 Data truncated for column 'i' at row 513explain select * from t1 where i=2 or i is null;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE t1 ref i i 4 const 7 Using indexselect count(*) from t1 where i=2 or i is null;count(*)9drop table t1;set names latin2;create table t1 selectnull as c00,if(1, null, 'string') as c01,if(0, null, 'string') as c02,ifnull(null, 'string') as c03,ifnull('string', null) as c04,case when 0 then null else 'string' end as c05,case when 1 then null else 'string' end as c06,coalesce(null, 'string') as c07,coalesce('string', null) as c08,least('string',null) as c09,least(null, 'string') as c10,greatest('string',null) as c11,greatest(null, 'string') as c12,nullif('string', null) as c13,nullif(null, 'string') as c14,trim('string' from null) as c15,trim(null from 'string') as c16,substring_index('string', null, 1) as c17,substring_index(null, 'string', 1) as c18,elt(1, null, 'string') as c19,elt(1, 'string', null) as c20,concat('string', null) as c21,concat(null, 'string') as c22,concat_ws('sep', 'string', null) as c23,concat_ws('sep', null, 'string') as c24,concat_ws(null, 'string', 'string') as c25,make_set(3, 'string', null) as c26,make_set(3, null, 'string') as c27,export_set(3, null, 'off', 'sep') as c29,export_set(3, 'on', null, 'sep') as c30,export_set(3, 'on', 'off', null) as c31,replace(null, 'from', 'to') as c32,replace('str', null, 'to') as c33,replace('str', 'from', null) as c34,insert('str', 1, 2, null) as c35,insert(null, 1, 2, 'str') as c36,lpad('str', 10, null) as c37,rpad(null, 10, 'str') as c38;show create table t1;Table Create Tablet1 CREATE TABLE `t1` ( `c00` binary(0) default NULL, `c01` varchar(6) character set latin2 default NULL, `c02` varchar(6) character set latin2 default NULL, `c03` varchar(6) character set latin2 NOT NULL default '', `c04` varchar(6) character set latin2 default NULL, `c05` varchar(6) character set latin2 default NULL, `c06` varchar(6) character set latin2 default NULL, `c07` varchar(6) character set latin2 default NULL, `c08` varchar(6) character set latin2 default NULL, `c09` varchar(6) character set latin2 default NULL, `c10` varchar(6) character set latin2 default NULL, `c11` varchar(6) character set latin2 default NULL, `c12` varchar(6) character set latin2 default NULL, `c13` varchar(6) character set latin2 default NULL, `c14` char(0) character set latin2 default NULL, `c15` char(0) character set latin2 default NULL, `c16` varchar(6) character set latin2 default NULL, `c17` varchar(6) character set latin2 default NULL, `c18` char(0) character set latin2 default NULL, `c19` varchar(6) character set latin2 default NULL, `c20` varchar(6) character set latin2 default NULL, `c21` varchar(6) character set latin2 default NULL, `c22` varchar(6) character set latin2 default NULL, `c23` varchar(9) character set latin2 default NULL, `c24` varchar(9) character set latin2 default NULL, `c25` varchar(12) character set latin2 default NULL, `c26` varchar(7) character set latin2 default NULL, `c27` varchar(7) character set latin2 default NULL, `c29` varchar(381) character set latin2 default NULL, `c30` varchar(317) character set latin2 default NULL, `c31` varchar(192) character set latin2 default NULL, `c32` char(0) character set latin2 default NULL, `c33` varchar(3) character set latin2 default NULL, `c34` varchar(3) character set latin2 default NULL, `c35` varchar(3) character set latin2 default NULL, `c36` varchar(3) character set latin2 default NULL, `c37` varchar(10) character set latin2 default NULL, `c38` varchar(10) character set latin2 default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1drop table t1;select case 'str' when 'STR' then 'str' when null then 'null' end as c01,case 'str' when null then 'null' when 'STR' then 'str' end as c02,field(null, 'str1', 'str2') as c03,field('str1','STR1', null) as c04,field('str1', null, 'STR1') as c05,'string' in ('STRING', null) as c08,'string' in (null, 'STRING') as c09;c01 c02 c03 c04 c05 c08 c09str str 0 1 2 1 1set names latin1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -