52
52
show create table t1;
54
54
t1 CREATE TABLE `t1` (
55
`if(1, 1.1, 1.2)` decimal(2,1) NOT NULL,
56
`if(0, 1.1, 1.2)` decimal(2,1) NOT NULL,
57
`if(0.1, 1.1, 1.2)` decimal(2,1) NOT NULL,
58
`if(0, 1, 1.1)` decimal(2,1) NOT NULL,
59
`if(0, NULL, 1.2)` decimal(2,1) DEFAULT NULL,
60
`if(1, 0.22e1, 1.1)` double NOT NULL,
61
`if(1E0, 1.1, 1.2)` decimal(2,1) NOT NULL
55
`if(1, 1.1, 1.2)` DECIMAL(2,1) NOT NULL,
56
`if(0, 1.1, 1.2)` DECIMAL(2,1) NOT NULL,
57
`if(0.1, 1.1, 1.2)` DECIMAL(2,1) NOT NULL,
58
`if(0, 1, 1.1)` DECIMAL(2,1) NOT NULL,
59
`if(0, NULL, 1.2)` DECIMAL(2,1) DEFAULT NULL,
60
`if(1, 0.22e1, 1.1)` DOUBLE NOT NULL,
61
`if(1E0, 1.1, 1.2)` DECIMAL(2,1) NOT NULL
62
) ENGINE=X COLLATE = utf8_general_ci
64
64
create table t1 select nullif(1.1, 1.1), nullif(1.1, 1.2), nullif(1.1, 0.11e1), nullif(1.0, 1), nullif(1, 1.0), nullif(1, 1.1);
68
68
show create table t1;
70
70
t1 CREATE TABLE `t1` (
71
`nullif(1.1, 1.1)` decimal(2,1) DEFAULT NULL,
72
`nullif(1.1, 1.2)` decimal(2,1) DEFAULT NULL,
73
`nullif(1.1, 0.11e1)` decimal(2,1) DEFAULT NULL,
74
`nullif(1.0, 1)` decimal(2,1) DEFAULT NULL,
75
`nullif(1, 1.0)` int DEFAULT NULL,
76
`nullif(1, 1.1)` int DEFAULT NULL
71
`nullif(1.1, 1.1)` DECIMAL(2,1) DEFAULT NULL,
72
`nullif(1.1, 1.2)` DECIMAL(2,1) DEFAULT NULL,
73
`nullif(1.1, 0.11e1)` DECIMAL(2,1) DEFAULT NULL,
74
`nullif(1.0, 1)` DECIMAL(2,1) DEFAULT NULL,
75
`nullif(1, 1.0)` INT DEFAULT NULL,
76
`nullif(1, 1.1)` INT DEFAULT NULL
77
) ENGINE=X COLLATE = utf8_general_ci
79
79
create table t1 (a decimal(4,2));
80
80
insert into t1 value (10000), (1.1e10), ("11111"), (100000.1);
124
124
show create table t1;
125
125
Table Create Table
126
126
t1 CREATE TABLE `t1` (
127
`round(15.4,-1)` decimal(3,0) NOT NULL,
128
`truncate(-5678.123451,-3)` decimal(4,0) NOT NULL,
129
`abs(-1.1)` decimal(3,1) NOT NULL,
130
`-(-1.1)` decimal(2,1) NOT NULL
127
`round(15.4,-1)` DECIMAL(3,0) NOT NULL,
128
`truncate(-5678.123451,-3)` DECIMAL(4,0) NOT NULL,
129
`abs(-1.1)` DECIMAL(3,1) NOT NULL,
130
`-(-1.1)` DECIMAL(2,1) NOT NULL
131
) ENGINE=X COLLATE = utf8_general_ci
683
683
show create table t1;
684
684
Table Create Table
685
685
t1 CREATE TABLE `t1` (
686
`sl` decimal(5,5) DEFAULT NULL
686
`sl` DECIMAL(5,5) DEFAULT NULL
687
) ENGINE=X COLLATE = utf8_general_ci
689
689
create table t1 (sl decimal(65, 30));
690
690
show create table t1;
691
691
Table Create Table
692
692
t1 CREATE TABLE `t1` (
693
`sl` decimal(65,30) DEFAULT NULL
693
`sl` DECIMAL(65,30) DEFAULT NULL
694
) ENGINE=X COLLATE = utf8_general_ci
696
696
create table t1 (
697
697
f0 decimal (30,30) not null DEFAULT 0,
699
699
show create table t1;
700
700
Table Create Table
701
701
t1 CREATE TABLE `t1` (
702
`f0` decimal(30,30) NOT NULL DEFAULT '0.000000000000000000000000000000',
703
`f1` decimal(10,0) NOT NULL DEFAULT '0'
702
`f0` DECIMAL(30,30) NOT NULL DEFAULT '0',
703
`f1` DECIMAL(10,0) NOT NULL DEFAULT '0'
704
) ENGINE=X COLLATE = utf8_general_ci
706
706
create table t (d decimal(0,10));
707
707
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'd').
714
714
SHOW CREATE TABLE t1;
715
715
Table Create Table
716
716
t1 CREATE TABLE `t1` (
717
`my_float` double DEFAULT NULL,
718
`my_double` double DEFAULT NULL,
719
`my_varchar` varchar(50) DEFAULT NULL,
720
`my_decimal` decimal(65,30) DEFAULT NULL
717
`my_float` DOUBLE DEFAULT NULL,
718
`my_double` DOUBLE DEFAULT NULL,
719
`my_varchar` VARCHAR(50) COLLATE utf8_general_ci DEFAULT NULL,
720
`my_decimal` DECIMAL(65,30) DEFAULT NULL
721
) ENGINE=X COLLATE = utf8_general_ci
723
723
INSERT INTO t1 SET my_float = 1.175494345e-32,
724
724
my_double = 1.175494345e-32,