SET SQL_MODE="TRADITIONAL,ANSI"; DROP TABLE IF EXISTS t5; CREATE TABLE t5(c1 DECIMAL(5,4) UNSIGNED NOT NULL); INSERT INTO t5 (c1) VALUES(NULL); ERROR 23000: Column 'c1' cannot be null INSERT INTO t5 (c1) VALUES(0); INSERT INTO t5 (c1) VALUES(-1); ERROR 22003: Out of range value for column 'c1' at row 1 INSERT INTO t5 (c1) VALUES('x'); ERROR HY000: Incorrect decimal value: 'x' for column 'c1' at row 1 INSERT INTO t5 (c1) VALUES(999999); ERROR 22003: Out of range value for column 'c1' at row 1 SELECT COUNT(c1) AS total_rows FROM t5; total_rows 1 SELECT COUNT(c1) AS null_rows FROM t5 WHERE c1 IS NULL; null_rows 0 SELECT COUNT(c1) AS not_null_rows FROM t5 WHERE c1 IS NOT NULL; not_null_rows 1 DROP TABLE t5; CREATE TABLE t5(c1 DEC(5,4) UNSIGNED NOT NULL); INSERT INTO t5 (c1) VALUES(NULL); ERROR 23000: Column 'c1' cannot be null INSERT INTO t5 (c1) VALUES(0); INSERT INTO t5 (c1) VALUES(-1); ERROR 22003: Out of range value for column 'c1' at row 1 INSERT INTO t5 (c1) VALUES('x'); ERROR HY000: Incorrect decimal value: 'x' for column 'c1' at row 1 INSERT INTO t5 (c1) VALUES(999999); ERROR 22003: Out of range value for column 'c1' at row 1 SELECT COUNT(c1) AS total_rows FROM t5; total_rows 1 SELECT COUNT(c1) AS null_rows FROM t5 WHERE c1 IS NULL; null_rows 0 SELECT COUNT(c1) AS not_null_rows FROM t5 WHERE c1 IS NOT NULL; not_null_rows 1 DROP TABLE t5; CREATE TABLE t5(c1 FIXED(5,4) UNSIGNED NOT NULL); INSERT INTO t5 (c1) VALUES(NULL); ERROR 23000: Column 'c1' cannot be null INSERT INTO t5 (c1) VALUES(0); INSERT INTO t5 (c1) VALUES(-1); ERROR 22003: Out of range value for column 'c1' at row 1 INSERT INTO t5 (c1) VALUES('x'); ERROR HY000: Incorrect decimal value: 'x' for column 'c1' at row 1 INSERT INTO t5 (c1) VALUES(999999); ERROR 22003: Out of range value for column 'c1' at row 1 SELECT COUNT(c1) AS total_rows FROM t5; total_rows 1 SELECT COUNT(c1) AS null_rows FROM t5 WHERE c1 IS NULL; null_rows 0 SELECT COUNT(c1) AS not_null_rows FROM t5 WHERE c1 IS NOT NULL; not_null_rows 1 DROP TABLE t5; CREATE TABLE t5(c1 NUMERIC(5,4) UNSIGNED NOT NULL); INSERT INTO t5 (c1) VALUES(NULL); ERROR 23000: Column 'c1' cannot be null INSERT INTO t5 (c1) VALUES(0); INSERT INTO t5 (c1) VALUES(-1); ERROR 22003: Out of range value for column 'c1' at row 1 INSERT INTO t5 (c1) VALUES('x'); ERROR HY000: Incorrect decimal value: 'x' for column 'c1' at row 1 INSERT INTO t5 (c1) VALUES(999999); ERROR 22003: Out of range value for column 'c1' at row 1 SELECT COUNT(c1) AS total_rows FROM t5; total_rows 1 SELECT COUNT(c1) AS null_rows FROM t5 WHERE c1 IS NULL; null_rows 0 SELECT COUNT(c1) AS not_null_rows FROM t5 WHERE c1 IS NOT NULL; not_null_rows 1 DROP TABLE t5;