0001
0002
0003
0004
0005
0006
0007
0008
0009 CREATE TABLE INT4_TBL(f1 int) USING parquet;
0010
0011
0012
0013
0014 INSERT INTO INT4_TBL VALUES (int(trim(' 0 ')));
0015
0016 INSERT INTO INT4_TBL VALUES (int(trim('123456 ')));
0017
0018 INSERT INTO INT4_TBL VALUES (int(trim(' -123456')));
0019
0020
0021
0022
0023
0024
0025
0026 INSERT INTO INT4_TBL VALUES (int('2147483647'));
0027
0028 INSERT INTO INT4_TBL VALUES (int('-2147483647'));
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 SELECT '' AS five, * FROM INT4_TBL;
0041
0042 SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> smallint('0');
0043
0044 SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> int('0');
0045
0046 SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = smallint('0');
0047
0048 SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = int('0');
0049
0050 SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < smallint('0');
0051
0052 SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < int('0');
0053
0054 SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= smallint('0');
0055
0056 SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= int('0');
0057
0058 SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > smallint('0');
0059
0060 SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > int('0');
0061
0062 SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= smallint('0');
0063
0064 SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= int('0');
0065
0066
0067 SELECT '' AS one, i.* FROM INT4_TBL i WHERE (i.f1 % smallint('2')) = smallint('1');
0068
0069
0070 SELECT '' AS three, i.* FROM INT4_TBL i WHERE (i.f1 % int('2')) = smallint('0');
0071
0072
0073 SELECT '' AS five, i.f1, i.f1 * smallint('2') AS x FROM INT4_TBL i;
0074
0075 SELECT '' AS five, i.f1, i.f1 * smallint('2') AS x FROM INT4_TBL i
0076 WHERE abs(f1) < 1073741824;
0077
0078
0079 SELECT '' AS five, i.f1, i.f1 * int('2') AS x FROM INT4_TBL i;
0080
0081 SELECT '' AS five, i.f1, i.f1 * int('2') AS x FROM INT4_TBL i
0082 WHERE abs(f1) < 1073741824;
0083
0084
0085 SELECT '' AS five, i.f1, i.f1 + smallint('2') AS x FROM INT4_TBL i;
0086
0087 SELECT '' AS five, i.f1, i.f1 + smallint('2') AS x FROM INT4_TBL i
0088 WHERE f1 < 2147483646;
0089
0090
0091 SELECT '' AS five, i.f1, i.f1 + int('2') AS x FROM INT4_TBL i;
0092
0093 SELECT '' AS five, i.f1, i.f1 + int('2') AS x FROM INT4_TBL i
0094 WHERE f1 < 2147483646;
0095
0096
0097 SELECT '' AS five, i.f1, i.f1 - smallint('2') AS x FROM INT4_TBL i;
0098
0099 SELECT '' AS five, i.f1, i.f1 - smallint('2') AS x FROM INT4_TBL i
0100 WHERE f1 > -2147483647;
0101
0102
0103 SELECT '' AS five, i.f1, i.f1 - int('2') AS x FROM INT4_TBL i;
0104
0105 SELECT '' AS five, i.f1, i.f1 - int('2') AS x FROM INT4_TBL i
0106 WHERE f1 > -2147483647;
0107
0108 SELECT '' AS five, i.f1, i.f1 / smallint('2') AS x FROM INT4_TBL i;
0109
0110 SELECT '' AS five, i.f1, i.f1 / int('2') AS x FROM INT4_TBL i;
0111
0112
0113
0114
0115
0116
0117 SELECT -2+3 AS one;
0118
0119 SELECT 4-2 AS two;
0120
0121 SELECT 2- -1 AS three;
0122
0123 SELECT 2 - -2 AS four;
0124
0125 SELECT smallint('2') * smallint('2') = smallint('16') / smallint('4') AS true;
0126
0127 SELECT int('2') * smallint('2') = smallint('16') / int('4') AS true;
0128
0129 SELECT smallint('2') * int('2') = int('16') / smallint('4') AS true;
0130
0131
0132 SELECT int('1000') < int('999') AS `false`;
0133
0134
0135
0136
0137
0138
0139 SELECT 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 AS ten;
0140
0141 SELECT 2 + 2 / 2 AS three;
0142
0143 SELECT (2 + 2) / 2 AS two;
0144
0145
0146
0147 SELECT string(shiftleft(int(-1), 31));
0148 SELECT string(int(shiftleft(int(-1), 31))+1);
0149
0150
0151
0152
0153
0154 SELECT int(-2147483648) % int(-1);
0155
0156
0157 SELECT int(-2147483648) % smallint(-1);
0158
0159
0160
0161 SELECT x, int(x) AS int4_value
0162 FROM (VALUES double(-2.5),
0163 double(-1.5),
0164 double(-0.5),
0165 double(0.0),
0166 double(0.5),
0167 double(1.5),
0168 double(2.5)) t(x);
0169
0170
0171
0172 SELECT x, int(x) AS int4_value
0173 FROM (VALUES cast(-2.5 as decimal(38, 18)),
0174 cast(-1.5 as decimal(38, 18)),
0175 cast(-0.5 as decimal(38, 18)),
0176 cast(-0.0 as decimal(38, 18)),
0177 cast(0.5 as decimal(38, 18)),
0178 cast(1.5 as decimal(38, 18)),
0179 cast(2.5 as decimal(38, 18))) t(x);
0180
0181 DROP TABLE INT4_TBL;