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 null NULL NULL 1 1 1 1 TRUE TRUE 1 1 select 1 | NULL,1 & NULL,1+NULL,1-NULL; 1 | NULL 1 & NULL 1+NULL 1-NULL NULL NULL NULL NULL select 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) | 0 NULL NULL 1 1 select 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 null NULL NULL NULL NULL NULL select 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 NULL select 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 NULL select field(NULL,"a","b","c"); field(NULL,"a","b","c") 0 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; 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 0 0 NULL NULL 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 0 NULL NULL NULL NULL NULL NULL SELECT (NULL OR NULL) IS NULL; (NULL OR NULL) IS NULL 1 select NULL AND 0, 0 and NULL; NULL AND 0 0 and NULL 0 0 select 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 NULL drop table if exists t1; create table t1 (x int); insert into t1 values (null); select * from t1 where x != 0; x drop 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_field SELECT * FROM t1 WHERE indexed_field IS NULL; indexed_field NULL NULL SELECT * FROM t1 WHERE indexed_field<=>NULL; indexed_field NULL NULL DROP TABLE t1; create table t1 (a int, b int) type=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 on t2.b=t3.a; b ifnull(t2.b,"this is null") NULL this is null select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on t2.b=t3.a order by 1; b ifnull(t2.b,"this is null") NULL this is null insert into t1 values(10,null); select t2.b, ifnull(t2.b,"this is null") from t1 as t2 left join t1 as t3 on t2.b=t3.a order by 1; b ifnull(t2.b,"this is null") NULL this is null NULL this is null drop table t1; CREATE TABLE t1 (a varchar(16) NOT NULL, b smallint(6) NOT NULL, c datetime NOT NULL, d smallint(6) NOT NULL); INSERT INTO t1 SET a = "", d= "2003-01-14 03:54:55"; UPDATE t1 SET d=1/NULL; UPDATE t1 SET d=NULL; INSERT INTO t1 (a) values (null); Column 'a' cannot be null INSERT INTO t1 (a) values (1/null); Column 'a' cannot be null INSERT INTO t1 (a) values (null),(null); INSERT INTO t1 (b) values (null); Column 'b' cannot be null INSERT INTO t1 (b) values (1/null); Column 'b' cannot be null INSERT INTO t1 (b) values (null),(null); INSERT INTO t1 (c) values (null); Column 'c' cannot be null INSERT INTO t1 (c) values (1/null); Column 'c' cannot be null INSERT INTO t1 (c) values (null),(null); INSERT INTO t1 (d) values (null); Column 'd' cannot be null INSERT INTO t1 (d) values (1/null); Column 'd' cannot be null INSERT INTO t1 (d) values (null),(null); select * 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 0 drop table t1;