added a comment - - edited The same problem is repeatable with ENUM:
CREATE OR REPLACE TABLE t1 (a ENUM( '999999999999999999999999999999999999999999999999999999999999' ));
INSERT INTO t1 VALUES (1);
CREATE OR REPLACE TABLE t2 AS
SELECT a, FLOOR(a), CEILING(a), TRUNCATE (a,0), ROUND(a) FROM t1;
SHOW CREATE TABLE t2;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t2 | CREATE TABLE `t2` (
`a` enum('999999999999999999999999999999999999999999999999999999999999') DEFAULT NULL,
`FLOOR(a)` decimal(60,0) DEFAULT NULL,
`CEILING(a)` decimal(60,0) DEFAULT NULL,
`TRUNCATE(a,0)` double(17,0) DEFAULT NULL,
`ROUND(a)` double(17,0) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
The same problem is repeatable with SET:
CREATE OR REPLACE TABLE t1 (a SET ( '999999999999999999999999999999999999999999999999999999999999' ));
INSERT INTO t1 VALUES (1);
CREATE OR REPLACE TABLE t2 AS
SELECT a, FLOOR(a), CEILING(a), TRUNCATE (a,0), ROUND(a) FROM t1;
SHOW CREATE TABLE t2;
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t2 | CREATE TABLE `t2` (
`a` set('999999999999999999999999999999999999999999999999999999999999') DEFAULT NULL,
`FLOOR(a)` decimal(60,0) DEFAULT NULL,
`CEILING(a)` decimal(60,0) DEFAULT NULL,
`TRUNCATE(a,0)` double(17,0) DEFAULT NULL,
`ROUND(a)` double(17,0) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
The same problem is repeatable with ENUM:
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t2 | CREATE TABLE `t2` (
`a` enum('999999999999999999999999999999999999999999999999999999999999') DEFAULT NULL,
`FLOOR(a)` decimal(60,0) DEFAULT NULL,
`CEILING(a)` decimal(60,0) DEFAULT NULL,
`TRUNCATE(a,0)` double(17,0) DEFAULT NULL,
`ROUND(a)` double(17,0) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
The same problem is repeatable with SET:
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t2 | CREATE TABLE `t2` (
`a` set('999999999999999999999999999999999999999999999999999999999999') DEFAULT NULL,
`FLOOR(a)` decimal(60,0) DEFAULT NULL,
`CEILING(a)` decimal(60,0) DEFAULT NULL,
`TRUNCATE(a,0)` double(17,0) DEFAULT NULL,
`ROUND(a)` double(17,0) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+