DROP TABLE IF EXISTS t1; CREATE TABLE t1 ( my_float FLOAT, my_double DOUBLE, my_varchar VARCHAR(50), my_decimal DECIMAL(65,30) ); SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `my_float` float default NULL, `my_double` double default NULL, `my_varchar` varchar(50) default NULL, `my_decimal` decimal(65,30) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 INSERT INTO t1 SET my_float = 1.175494345e-32, my_double = 1.175494345e-32, my_varchar = '1.175494345e-32'; INSERT INTO t1 SET my_float = 1.175494345e-31, my_double = 1.175494345e-31, my_varchar = '1.175494345e-31'; INSERT INTO t1 SET my_float = 1.175494345e-30, my_double = 1.175494345e-30, my_varchar = '1.175494345e-30'; INSERT INTO t1 SET my_float = 1.175494345e-29, my_double = 1.175494345e-29, my_varchar = '1.175494345e-29'; INSERT INTO t1 SET my_float = 1.175494345e-28, my_double = 1.175494345e-28, my_varchar = '1.175494345e-28'; INSERT INTO t1 SET my_float = 1.175494345e-27, my_double = 1.175494345e-27, my_varchar = '1.175494345e-27'; INSERT INTO t1 SET my_float = 1.175494345e-26, my_double = 1.175494345e-26, my_varchar = '1.175494345e-26'; INSERT INTO t1 SET my_float = 1.175494345e-25, my_double = 1.175494345e-25, my_varchar = '1.175494345e-25'; INSERT INTO t1 SET my_float = 1.175494345e-24, my_double = 1.175494345e-24, my_varchar = '1.175494345e-24'; INSERT INTO t1 SET my_float = 1.175494345e-23, my_double = 1.175494345e-23, my_varchar = '1.175494345e-23'; INSERT INTO t1 SET my_float = 1.175494345e-22, my_double = 1.175494345e-22, my_varchar = '1.175494345e-22'; INSERT INTO t1 SET my_float = 1.175494345e-21, my_double = 1.175494345e-21, my_varchar = '1.175494345e-21'; INSERT INTO t1 SET my_float = 1.175494345e-20, my_double = 1.175494345e-20, my_varchar = '1.175494345e-20'; INSERT INTO t1 SET my_float = 1.175494345e-19, my_double = 1.175494345e-19, my_varchar = '1.175494345e-19'; INSERT INTO t1 SET my_float = 1.175494345e-18, my_double = 1.175494345e-18, my_varchar = '1.175494345e-18'; INSERT INTO t1 SET my_float = 1.175494345e-17, my_double = 1.175494345e-17, my_varchar = '1.175494345e-17'; INSERT INTO t1 SET my_float = 1.175494345e-16, my_double = 1.175494345e-16, my_varchar = '1.175494345e-16'; INSERT INTO t1 SET my_float = 1.175494345e-15, my_double = 1.175494345e-15, my_varchar = '1.175494345e-15'; INSERT INTO t1 SET my_float = 1.175494345e-14, my_double = 1.175494345e-14, my_varchar = '1.175494345e-14'; INSERT INTO t1 SET my_float = 1.175494345e-13, my_double = 1.175494345e-13, my_varchar = '1.175494345e-13'; INSERT INTO t1 SET my_float = 1.175494345e-12, my_double = 1.175494345e-12, my_varchar = '1.175494345e-12'; INSERT INTO t1 SET my_float = 1.175494345e-11, my_double = 1.175494345e-11, my_varchar = '1.175494345e-11'; INSERT INTO t1 SET my_float = 1.175494345e-10, my_double = 1.175494345e-10, my_varchar = '1.175494345e-10'; INSERT INTO t1 SET my_float = 1.175494345e-9, my_double = 1.175494345e-9, my_varchar = '1.175494345e-9'; INSERT INTO t1 SET my_float = 1.175494345e-8, my_double = 1.175494345e-8, my_varchar = '1.175494345e-8'; INSERT INTO t1 SET my_float = 1.175494345e-7, my_double = 1.175494345e-7, my_varchar = '1.175494345e-7'; INSERT INTO t1 SET my_float = 1.175494345e-6, my_double = 1.175494345e-6, my_varchar = '1.175494345e-6'; INSERT INTO t1 SET my_float = 1.175494345e-5, my_double = 1.175494345e-5, my_varchar = '1.175494345e-5'; INSERT INTO t1 SET my_float = 1.175494345e-4, my_double = 1.175494345e-4, my_varchar = '1.175494345e-4'; INSERT INTO t1 SET my_float = 1.175494345e-3, my_double = 1.175494345e-3, my_varchar = '1.175494345e-3'; INSERT INTO t1 SET my_float = 1.175494345e-2, my_double = 1.175494345e-2, my_varchar = '1.175494345e-2'; INSERT INTO t1 SET my_float = 1.175494345e-1, my_double = 1.175494345e-1, my_varchar = '1.175494345e-1'; SELECT my_float, my_double, my_varchar FROM t1; my_float my_double my_varchar 1.17549e-32 1.175494345e-32 1.175494345e-32 1.17549e-31 1.175494345e-31 1.175494345e-31 1.17549e-30 1.175494345e-30 1.175494345e-30 1.17549e-29 1.175494345e-29 1.175494345e-29 1.17549e-28 1.175494345e-28 1.175494345e-28 1.17549e-27 1.175494345e-27 1.175494345e-27 1.17549e-26 1.175494345e-26 1.175494345e-26 1.17549e-25 1.175494345e-25 1.175494345e-25 1.17549e-24 1.175494345e-24 1.175494345e-24 1.17549e-23 1.175494345e-23 1.175494345e-23 1.17549e-22 1.175494345e-22 1.175494345e-22 1.17549e-21 1.175494345e-21 1.175494345e-21 1.17549e-20 1.175494345e-20 1.175494345e-20 1.17549e-19 1.175494345e-19 1.175494345e-19 1.17549e-18 1.175494345e-18 1.175494345e-18 1.17549e-17 1.175494345e-17 1.175494345e-17 1.17549e-16 1.175494345e-16 1.175494345e-16 1.17549e-15 1.175494345e-15 1.175494345e-15 1.17549e-14 1.175494345e-14 1.175494345e-14 1.17549e-13 1.175494345e-13 1.175494345e-13 1.17549e-12 1.175494345e-12 1.175494345e-12 1.17549e-11 1.175494345e-11 1.175494345e-11 1.17549e-10 1.175494345e-10 1.175494345e-10 1.17549e-09 1.175494345e-09 1.175494345e-9 1.17549e-08 1.175494345e-08 1.175494345e-8 1.17549e-07 1.175494345e-07 1.175494345e-7 1.17549e-06 1.175494345e-06 1.175494345e-6 1.17549e-05 1.175494345e-05 1.175494345e-5 0.000117549 0.0001175494345 1.175494345e-4 0.00117549 0.001175494345 1.175494345e-3 0.0117549 0.01175494345 1.175494345e-2 0.117549 0.1175494345 1.175494345e-1 SELECT CAST(my_float AS DECIMAL(65,30)), my_float FROM t1; CAST(my_float AS DECIMAL(65,30)) my_float 0.000000000000000000000000000000 1.17549e-32 0.000000000000000000000000000000 1.17549e-31 0.000000000000000000000000000000 1.17549e-30 0.000000000000000000000000000000 1.17549e-29 0.000000000000000000000000000000 1.17549e-28 0.000000000000000000000000000000 1.17549e-27 0.000000000000000000000000000000 1.17549e-26 0.000000000000000000000000000000 1.17549e-25 0.000000000000000000000000000000 1.17549e-24 0.000000000000000000000000000000 1.17549e-23 0.000000000000000000000000000000 1.17549e-22 0.000000000000000000000000000000 1.17549e-21 0.000000000000000000000000000000 1.17549e-20 0.000000000000000000000000000000 1.17549e-19 0.000000000000000000000000000000 1.17549e-18 0.000000000000000000000000000000 1.17549e-17 0.000000000000000000000000000000 1.17549e-16 0.000000000000000000000000000000 1.17549e-15 0.000000000000000000000000000000 1.17549e-14 0.000000000000000000000000000000 1.17549e-13 0.000000000000000000000000000000 1.17549e-12 0.000000000000000000000000000000 1.17549e-11 0.000000000000000000000000000000 1.17549e-10 0.000000000000000000000000000000 1.17549e-09 0.000000000000000000000000000000 1.17549e-08 0.000000000000000000000000000000 1.17549e-07 0.000001000000000000000000000000 1.17549e-06 0.000012000000000000000000000000 1.17549e-05 0.000118000000000000000000000000 0.000117549 0.001175000000000000000000000000 0.00117549 0.011755000000000000000000000000 0.0117549 0.117549000000000000000000000000 0.117549 SELECT CAST(my_double AS DECIMAL(65,30)), my_double FROM t1; CAST(my_double AS DECIMAL(65,30)) my_double 0.000000000000000000000000000000 1.175494345e-32 0.000000000000000000000000000000 1.175494345e-31 0.000000000000000000000000000000 1.175494345e-30 0.000000000000000000000000000000 1.175494345e-29 0.000000000000000000000000000000 1.175494345e-28 0.000000000000000000000000000000 1.175494345e-27 0.000000000000000000000000000000 1.175494345e-26 0.000000000000000000000000000000 1.175494345e-25 0.000000000000000000000000000000 1.175494345e-24 0.000000000000000000000000000000 1.175494345e-23 0.000000000000000000000000000000 1.175494345e-22 0.000000000000000000000000000000 1.175494345e-21 0.000000000000000000000000000000 1.175494345e-20 0.000000000000000000000000000000 1.175494345e-19 0.000000000000000000000000000000 1.175494345e-18 0.000000000000000000000000000000 1.175494345e-17 0.000000000000000000000000000000 1.175494345e-16 0.000000000000000000000000000000 1.175494345e-15 0.000000000000000000000000000000 1.175494345e-14 0.000000000000000000000000000000 1.175494345e-13 0.000000000000000000000000000000 1.175494345e-12 0.000000000000000000000000000000 1.175494345e-11 0.000000000000000000000000000000 1.175494345e-10 0.000000000000000000000000000000 1.175494345e-09 0.000000000000000000000000000000 1.175494345e-08 0.000000000000000000000000000000 1.175494345e-07 0.000001000000000000000000000000 1.175494345e-06 0.000012000000000000000000000000 1.175494345e-05 0.000118000000000000000000000000 0.0001175494345 0.001175000000000000000000000000 0.001175494345 0.011755000000000000000000000000 0.01175494345 0.117549000000000000000000000000 0.1175494345 SELECT CAST(my_varchar AS DECIMAL(65,30)), my_varchar FROM t1; CAST(my_varchar AS DECIMAL(65,30)) my_varchar 0.000000000000000000000000000000 1.175494345e-32 0.000000000000000000000000000000 1.175494345e-31 0.000000000000000000000000000001 1.175494345e-30 0.000000000000000000000000000012 1.175494345e-29 0.000000000000000000000000000118 1.175494345e-28 0.000000000000000000000000001175 1.175494345e-27 0.000000000000000000000000011755 1.175494345e-26 0.000000000000000000000000117549 1.175494345e-25 0.000000000000000000000001175494 1.175494345e-24 0.000000000000000000000011754943 1.175494345e-23 0.000000000000000000000117549435 1.175494345e-22 0.000000000000000000001175494345 1.175494345e-21 0.000000000000000000011754943450 1.175494345e-20 0.000000000000000000117549434500 1.175494345e-19 0.000000000000000001175494345000 1.175494345e-18 0.000000000000000011754943450000 1.175494345e-17 0.000000000000000117549434500000 1.175494345e-16 0.000000000000001175494345000000 1.175494345e-15 0.000000000000011754943450000000 1.175494345e-14 0.000000000000117549434500000000 1.175494345e-13 0.000000000001175494345000000000 1.175494345e-12 0.000000000011754943450000000000 1.175494345e-11 0.000000000117549434500000000000 1.175494345e-10 0.000000001175494345000000000000 1.175494345e-9 0.000000011754943450000000000000 1.175494345e-8 0.000000117549434500000000000000 1.175494345e-7 0.000001175494345000000000000000 1.175494345e-6 0.000011754943450000000000000000 1.175494345e-5 0.000117549434500000000000000000 1.175494345e-4 0.001175494345000000000000000000 1.175494345e-3 0.011754943450000000000000000000 1.175494345e-2 0.117549434500000000000000000000 1.175494345e-1 UPDATE t1 SET my_decimal = my_float; Warnings: Note 1265 Data truncated for column 'my_decimal' at row 1 Note 1265 Data truncated for column 'my_decimal' at row 2 Note 1265 Data truncated for column 'my_decimal' at row 3 Note 1265 Data truncated for column 'my_decimal' at row 4 Note 1265 Data truncated for column 'my_decimal' at row 5 Note 1265 Data truncated for column 'my_decimal' at row 6 Note 1265 Data truncated for column 'my_decimal' at row 7 Note 1265 Data truncated for column 'my_decimal' at row 8 Note 1265 Data truncated for column 'my_decimal' at row 9 Note 1265 Data truncated for column 'my_decimal' at row 10 Note 1265 Data truncated for column 'my_decimal' at row 11 Note 1265 Data truncated for column 'my_decimal' at row 12 Note 1265 Data truncated for column 'my_decimal' at row 13 Note 1265 Data truncated for column 'my_decimal' at row 14 Note 1265 Data truncated for column 'my_decimal' at row 15 Note 1265 Data truncated for column 'my_decimal' at row 16 Note 1265 Data truncated for column 'my_decimal' at row 17 Note 1265 Data truncated for column 'my_decimal' at row 18 Note 1265 Data truncated for column 'my_decimal' at row 19 Note 1265 Data truncated for column 'my_decimal' at row 20 Note 1265 Data truncated for column 'my_decimal' at row 21 Note 1265 Data truncated for column 'my_decimal' at row 22 Note 1265 Data truncated for column 'my_decimal' at row 23 Note 1265 Data truncated for column 'my_decimal' at row 24 Note 1265 Data truncated for column 'my_decimal' at row 25 Note 1265 Data truncated for column 'my_decimal' at row 26 Note 1265 Data truncated for column 'my_decimal' at row 27 Note 1265 Data truncated for column 'my_decimal' at row 28 Note 1265 Data truncated for column 'my_decimal' at row 29 Note 1265 Data truncated for column 'my_decimal' at row 30 Note 1265 Data truncated for column 'my_decimal' at row 31 Note 1265 Data truncated for column 'my_decimal' at row 32 SELECT my_decimal, my_float FROM t1; my_decimal my_float 0.000000000000000000000000000000 1.17549e-32 0.000000000000000000000000000000 1.17549e-31 0.000000000000000000000000000000 1.17549e-30 0.000000000000000000000000000000 1.17549e-29 0.000000000000000000000000000000 1.17549e-28 0.000000000000000000000000000000 1.17549e-27 0.000000000000000000000000000000 1.17549e-26 0.000000000000000000000000000000 1.17549e-25 0.000000000000000000000000000000 1.17549e-24 0.000000000000000000000000000000 1.17549e-23 0.000000000000000000000000000000 1.17549e-22 0.000000000000000000000000000000 1.17549e-21 0.000000000000000000000000000000 1.17549e-20 0.000000000000000000000000000000 1.17549e-19 0.000000000000000000000000000000 1.17549e-18 0.000000000000000000000000000000 1.17549e-17 0.000000000000000000000000000000 1.17549e-16 0.000000000000000000000000000000 1.17549e-15 0.000000000000000000000000000000 1.17549e-14 0.000000000000000000000000000000 1.17549e-13 0.000000000000000000000000000000 1.17549e-12 0.000000000000000000000000000000 1.17549e-11 0.000000000000000000000000000000 1.17549e-10 0.000000000000000000000000000000 1.17549e-09 0.000000000000000000000000000000 1.17549e-08 0.000000000000000000000000000000 1.17549e-07 0.000001000000000000000000000000 1.17549e-06 0.000012000000000000000000000000 1.17549e-05 0.000118000000000000000000000000 0.000117549 0.001175000000000000000000000000 0.00117549 0.011755000000000000000000000000 0.0117549 0.117549000000000000000000000000 0.117549 UPDATE t1 SET my_decimal = my_double; Warnings: Note 1265 Data truncated for column 'my_decimal' at row 1 Note 1265 Data truncated for column 'my_decimal' at row 2 Note 1265 Data truncated for column 'my_decimal' at row 3 Note 1265 Data truncated for column 'my_decimal' at row 4 Note 1265 Data truncated for column 'my_decimal' at row 5 Note 1265 Data truncated for column 'my_decimal' at row 6 Note 1265 Data truncated for column 'my_decimal' at row 7 Note 1265 Data truncated for column 'my_decimal' at row 8 Note 1265 Data truncated for column 'my_decimal' at row 9 Note 1265 Data truncated for column 'my_decimal' at row 10 Note 1265 Data truncated for column 'my_decimal' at row 11 Note 1265 Data truncated for column 'my_decimal' at row 12 Note 1265 Data truncated for column 'my_decimal' at row 13 Note 1265 Data truncated for column 'my_decimal' at row 14 Note 1265 Data truncated for column 'my_decimal' at row 15 Note 1265 Data truncated for column 'my_decimal' at row 16 Note 1265 Data truncated for column 'my_decimal' at row 17 Note 1265 Data truncated for column 'my_decimal' at row 18 Note 1265 Data truncated for column 'my_decimal' at row 19 Note 1265 Data truncated for column 'my_decimal' at row 20 Note 1265 Data truncated for column 'my_decimal' at row 21 Note 1265 Data truncated for column 'my_decimal' at row 22 Note 1265 Data truncated for column 'my_decimal' at row 23 Note 1265 Data truncated for column 'my_decimal' at row 24 Note 1265 Data truncated for column 'my_decimal' at row 25 Note 1265 Data truncated for column 'my_decimal' at row 26 Note 1265 Data truncated for column 'my_decimal' at row 27 Note 1265 Data truncated for column 'my_decimal' at row 28 Note 1265 Data truncated for column 'my_decimal' at row 29 Note 1265 Data truncated for column 'my_decimal' at row 30 Note 1265 Data truncated for column 'my_decimal' at row 31 Note 1265 Data truncated for column 'my_decimal' at row 32 SELECT my_decimal, my_double FROM t1; my_decimal my_double 0.000000000000000000000000000000 1.175494345e-32 0.000000000000000000000000000000 1.175494345e-31 0.000000000000000000000000000000 1.175494345e-30 0.000000000000000000000000000000 1.175494345e-29 0.000000000000000000000000000000 1.175494345e-28 0.000000000000000000000000000000 1.175494345e-27 0.000000000000000000000000000000 1.175494345e-26 0.000000000000000000000000000000 1.175494345e-25 0.000000000000000000000000000000 1.175494345e-24 0.000000000000000000000000000000 1.175494345e-23 0.000000000000000000000000000000 1.175494345e-22 0.000000000000000000000000000000 1.175494345e-21 0.000000000000000000000000000000 1.175494345e-20 0.000000000000000000000000000000 1.175494345e-19 0.000000000000000000000000000000 1.175494345e-18 0.000000000000000000000000000000 1.175494345e-17 0.000000000000000000000000000000 1.175494345e-16 0.000000000000000000000000000000 1.175494345e-15 0.000000000000000000000000000000 1.175494345e-14 0.000000000000000000000000000000 1.175494345e-13 0.000000000000000000000000000000 1.175494345e-12 0.000000000000000000000000000000 1.175494345e-11 0.000000000000000000000000000000 1.175494345e-10 0.000000000000000000000000000000 1.175494345e-09 0.000000000000000000000000000000 1.175494345e-08 0.000000000000000000000000000000 1.175494345e-07 0.000001000000000000000000000000 1.175494345e-06 0.000012000000000000000000000000 1.175494345e-05 0.000118000000000000000000000000 0.0001175494345 0.001175000000000000000000000000 0.001175494345 0.011755000000000000000000000000 0.01175494345 0.117549000000000000000000000000 0.1175494345 UPDATE t1 SET my_decimal = my_varchar; Warnings: Note 1265 Data truncated for column 'my_decimal' at row 1 Note 1265 Data truncated for column 'my_decimal' at row 2 Note 1265 Data truncated for column 'my_decimal' at row 3 Note 1265 Data truncated for column 'my_decimal' at row 4 Note 1265 Data truncated for column 'my_decimal' at row 5 Note 1265 Data truncated for column 'my_decimal' at row 6 Note 1265 Data truncated for column 'my_decimal' at row 7 Note 1265 Data truncated for column 'my_decimal' at row 8 Note 1265 Data truncated for column 'my_decimal' at row 9 Note 1265 Data truncated for column 'my_decimal' at row 10 Note 1265 Data truncated for column 'my_decimal' at row 11 SELECT my_decimal, my_varchar FROM t1; my_decimal my_varchar 0.000000000000000000000000000000 1.175494345e-32 0.000000000000000000000000000000 1.175494345e-31 0.000000000000000000000000000001 1.175494345e-30 0.000000000000000000000000000012 1.175494345e-29 0.000000000000000000000000000118 1.175494345e-28 0.000000000000000000000000001175 1.175494345e-27 0.000000000000000000000000011755 1.175494345e-26 0.000000000000000000000000117549 1.175494345e-25 0.000000000000000000000001175494 1.175494345e-24 0.000000000000000000000011754943 1.175494345e-23 0.000000000000000000000117549435 1.175494345e-22 0.000000000000000000001175494345 1.175494345e-21 0.000000000000000000011754943450 1.175494345e-20 0.000000000000000000117549434500 1.175494345e-19 0.000000000000000001175494345000 1.175494345e-18 0.000000000000000011754943450000 1.175494345e-17 0.000000000000000117549434500000 1.175494345e-16 0.000000000000001175494345000000 1.175494345e-15 0.000000000000011754943450000000 1.175494345e-14 0.000000000000117549434500000000 1.175494345e-13 0.000000000001175494345000000000 1.175494345e-12 0.000000000011754943450000000000 1.175494345e-11 0.000000000117549434500000000000 1.175494345e-10 0.000000001175494345000000000000 1.175494345e-9 0.000000011754943450000000000000 1.175494345e-8 0.000000117549434500000000000000 1.175494345e-7 0.000001175494345000000000000000 1.175494345e-6 0.000011754943450000000000000000 1.175494345e-5 0.000117549434500000000000000000 1.175494345e-4 0.001175494345000000000000000000 1.175494345e-3 0.011754943450000000000000000000 1.175494345e-2 0.117549434500000000000000000000 1.175494345e-1