mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
20eba06d9b
The patch for MDEV-23687 easlier fixed this problem. Adding tests only.
1530 lines
80 KiB
Text
1530 lines
80 KiB
Text
#
|
|
# MDEV-17385 MICROSECOND() returns confusing results with an out-of-range TIME-alike argument
|
|
#
|
|
CREATE TABLE t1 (v VARCHAR(64), ll BIGINT, t TIME, dt DATETIME, d DATE);
|
|
CREATE TABLE t2 AS SELECT
|
|
EXTRACT(DAY FROM t),
|
|
EXTRACT(DAY_HOUR FROM t),
|
|
EXTRACT(DAY_MINUTE FROM t),
|
|
EXTRACT(DAY_SECOND FROM t),
|
|
EXTRACT(DAY_MICROSECOND FROM t),
|
|
EXTRACT(DAY FROM d),
|
|
EXTRACT(DAY_HOUR FROM d),
|
|
EXTRACT(DAY_MINUTE FROM d),
|
|
EXTRACT(DAY_SECOND FROM d),
|
|
EXTRACT(DAY_MICROSECOND FROM d),
|
|
EXTRACT(DAY FROM v),
|
|
EXTRACT(DAY_HOUR FROM v),
|
|
EXTRACT(DAY_MINUTE FROM v),
|
|
EXTRACT(DAY_SECOND FROM v),
|
|
EXTRACT(DAY_MICROSECOND FROM v),
|
|
EXTRACT(DAY FROM ll),
|
|
EXTRACT(DAY_HOUR FROM ll),
|
|
EXTRACT(DAY_MINUTE FROM ll),
|
|
EXTRACT(DAY_SECOND FROM ll),
|
|
EXTRACT(DAY_MICROSECOND FROM ll)
|
|
FROM t1;
|
|
SHOW CREATE TABLE t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`EXTRACT(DAY FROM t)` int(3) DEFAULT NULL,
|
|
`EXTRACT(DAY_HOUR FROM t)` int(5) DEFAULT NULL,
|
|
`EXTRACT(DAY_MINUTE FROM t)` int(7) DEFAULT NULL,
|
|
`EXTRACT(DAY_SECOND FROM t)` int(9) DEFAULT NULL,
|
|
`EXTRACT(DAY_MICROSECOND FROM t)` bigint(15) DEFAULT NULL,
|
|
`EXTRACT(DAY FROM d)` int(3) DEFAULT NULL,
|
|
`EXTRACT(DAY_HOUR FROM d)` int(5) DEFAULT NULL,
|
|
`EXTRACT(DAY_MINUTE FROM d)` int(7) DEFAULT NULL,
|
|
`EXTRACT(DAY_SECOND FROM d)` int(9) DEFAULT NULL,
|
|
`EXTRACT(DAY_MICROSECOND FROM d)` bigint(15) DEFAULT NULL,
|
|
`EXTRACT(DAY FROM v)` int(8) DEFAULT NULL,
|
|
`EXTRACT(DAY_HOUR FROM v)` int(10) DEFAULT NULL,
|
|
`EXTRACT(DAY_MINUTE FROM v)` bigint(12) DEFAULT NULL,
|
|
`EXTRACT(DAY_SECOND FROM v)` bigint(14) DEFAULT NULL,
|
|
`EXTRACT(DAY_MICROSECOND FROM v)` bigint(20) DEFAULT NULL,
|
|
`EXTRACT(DAY FROM ll)` int(8) DEFAULT NULL,
|
|
`EXTRACT(DAY_HOUR FROM ll)` int(10) DEFAULT NULL,
|
|
`EXTRACT(DAY_MINUTE FROM ll)` bigint(12) DEFAULT NULL,
|
|
`EXTRACT(DAY_SECOND FROM ll)` bigint(14) DEFAULT NULL,
|
|
`EXTRACT(DAY_MICROSECOND FROM ll)` bigint(20) DEFAULT NULL
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
|
DROP TABLE t2;
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a VARCHAR(64), b DECIMAL(32,9));
|
|
INSERT INTO t1 VALUES
|
|
('9999-12-31 23:59:59.123456', 99991231235959.123456),
|
|
('2001-01-01 10:20:30.123456', 20010101102030.123456),
|
|
('4294967296:59:59.123456', 42949672965959.123456),
|
|
('4294967295:59:59.123456', 42949672955959.123456),
|
|
('87649416:59:59.123456', 876494165959.123456),
|
|
('87649415:59:59.123456', 876494155959.123456),
|
|
('87649414:59:59.123456', 876494145959.123456),
|
|
('9999:59:59.123456', 99995959.123456),
|
|
('9999:01:01.123456', 99990101.123456),
|
|
('9999:01:01', 99990101),
|
|
('0.999999', 0.999999),
|
|
('0.99999', 0.99999),
|
|
('0.9999', 0.9999),
|
|
('0.999', 0.999),
|
|
('0.99', 0.99),
|
|
('0.9', 0.9),
|
|
('000000',0);
|
|
# Summary:
|
|
# Check that FUNC(varchar) and FUNC(decimal) give equal results
|
|
# Expect empty sets
|
|
SELECT a, b, EXTRACT(DAY_HOUR FROM a), EXTRACT(DAY_HOUR FROM b) FROM t1 WHERE NOT (EXTRACT(DAY_HOUR FROM a)<=>EXTRACT(DAY_HOUR FROM b));
|
|
a b EXTRACT(DAY_HOUR FROM a) EXTRACT(DAY_HOUR FROM b)
|
|
SELECT a, b, EXTRACT(DAY FROM a), EXTRACT(DAY FROM b) FROM t1 WHERE NOT (EXTRACT(DAY FROM a)<=>EXTRACT(DAY FROM b));
|
|
a b EXTRACT(DAY FROM a) EXTRACT(DAY FROM b)
|
|
SELECT a, b, EXTRACT(HOUR FROM a), EXTRACT(HOUR FROM b) FROM t1 WHERE NOT (EXTRACT(HOUR FROM a)<=>EXTRACT(HOUR FROM b));
|
|
a b EXTRACT(HOUR FROM a) EXTRACT(HOUR FROM b)
|
|
SELECT a, b, EXTRACT(MINUTE FROM a), EXTRACT(MINUTE FROM b) FROM t1 WHERE NOT (EXTRACT(MINUTE FROM a)<=>EXTRACT(MINUTE FROM b));
|
|
a b EXTRACT(MINUTE FROM a) EXTRACT(MINUTE FROM b)
|
|
SELECT a, b, EXTRACT(SECOND FROM a), EXTRACT(SECOND FROM b) FROM t1 WHERE NOT (EXTRACT(SECOND FROM a)<=>EXTRACT(SECOND FROM b));
|
|
a b EXTRACT(SECOND FROM a) EXTRACT(SECOND FROM b)
|
|
SELECT a, b, EXTRACT(MICROSECOND FROM a), EXTRACT(MICROSECOND FROM b) FROM t1 WHERE NOT (EXTRACT(MICROSECOND FROM a)<=>EXTRACT(MICROSECOND FROM b));
|
|
a b EXTRACT(MICROSECOND FROM a) EXTRACT(MICROSECOND FROM b)
|
|
# Detailed results
|
|
SELECT
|
|
a,
|
|
CAST(a AS INTERVAL DAY_SECOND(6)) AS cidm,
|
|
EXTRACT(DAY FROM a) * 24 + EXTRACT(HOUR FROM a) AS dh,
|
|
EXTRACT(DAY_HOUR FROM a),
|
|
EXTRACT(DAY FROM a),
|
|
EXTRACT(HOUR FROM a),
|
|
EXTRACT(MINUTE FROM a),
|
|
EXTRACT(SECOND FROM a),
|
|
EXTRACT(MICROSECOND FROM a)
|
|
FROM t1;
|
|
a cidm dh EXTRACT(DAY_HOUR FROM a) EXTRACT(DAY FROM a) EXTRACT(HOUR FROM a) EXTRACT(MINUTE FROM a) EXTRACT(SECOND FROM a) EXTRACT(MICROSECOND FROM a)
|
|
9999-12-31 23:59:59.123456 NULL 767 3123 31 23 59 59 123456
|
|
2001-01-01 10:20:30.123456 NULL 34 110 1 10 20 30 123456
|
|
4294967296:59:59.123456 NULL NULL NULL NULL NULL NULL NULL NULL
|
|
4294967295:59:59.123456 NULL NULL NULL NULL NULL NULL NULL NULL
|
|
87649416:59:59.123456 NULL NULL NULL NULL NULL NULL NULL NULL
|
|
87649415:59:59.123456 3652058 23:59:59.123456 87649415 365205823 3652058 23 59 59 123456
|
|
87649414:59:59.123456 3652058 22:59:59.123456 87649414 365205822 3652058 22 59 59 123456
|
|
9999:59:59.123456 416 15:59:59.123456 9999 41615 416 15 59 59 123456
|
|
9999:01:01.123456 416 15:01:01.123456 9999 41615 416 15 1 1 123456
|
|
9999:01:01 416 15:01:01.000000 9999 41615 416 15 1 1 0
|
|
0.999999 00:00:00.999999 0 0 0 0 0 0 999999
|
|
0.99999 00:00:00.999990 0 0 0 0 0 0 999990
|
|
0.9999 00:00:00.999900 0 0 0 0 0 0 999900
|
|
0.999 00:00:00.999000 0 0 0 0 0 0 999000
|
|
0.99 00:00:00.990000 0 0 0 0 0 0 990000
|
|
0.9 00:00:00.900000 0 0 0 0 0 0 900000
|
|
000000 00:00:00.000000 0 0 0 0 0 0 0
|
|
Warnings:
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '9999-12-31 23:59:59.123456'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '2001-01-01 10:20:30.123456'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967296:59:59.123456'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '4294967295:59:59.123456'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '87649416:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '87649416:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '87649416:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '87649416:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '87649416:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '87649416:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '87649416:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '87649416:59:59.123456'
|
|
Warning 1292 Incorrect interval value: '87649416:59:59.123456'
|
|
SELECT
|
|
b,
|
|
CAST(b AS INTERVAL DAY_SECOND(6)) AS cidm,
|
|
EXTRACT(DAY FROM b) * 24 + EXTRACT(HOUR FROM b) AS dh,
|
|
EXTRACT(DAY_HOUR FROM b),
|
|
EXTRACT(DAY FROM b),
|
|
EXTRACT(HOUR FROM b),
|
|
EXTRACT(MINUTE FROM b),
|
|
EXTRACT(SECOND FROM b),
|
|
EXTRACT(MICROSECOND FROM b)
|
|
FROM t1;
|
|
b cidm dh EXTRACT(DAY_HOUR FROM b) EXTRACT(DAY FROM b) EXTRACT(HOUR FROM b) EXTRACT(MINUTE FROM b) EXTRACT(SECOND FROM b) EXTRACT(MICROSECOND FROM b)
|
|
99991231235959.123456000 NULL 767 3123 31 23 59 59 123456
|
|
20010101102030.123456000 NULL 34 110 1 10 20 30 123456
|
|
42949672965959.123456000 NULL NULL NULL NULL NULL NULL NULL NULL
|
|
42949672955959.123456000 NULL NULL NULL NULL NULL NULL NULL NULL
|
|
876494165959.123456000 NULL NULL NULL NULL NULL NULL NULL NULL
|
|
876494155959.123456000 3652058 23:59:59.123456 87649415 365205823 3652058 23 59 59 123456
|
|
876494145959.123456000 3652058 22:59:59.123456 87649414 365205822 3652058 22 59 59 123456
|
|
99995959.123456000 416 15:59:59.123456 9999 41615 416 15 59 59 123456
|
|
99990101.123456000 416 15:01:01.123456 9999 41615 416 15 1 1 123456
|
|
99990101.000000000 416 15:01:01.000000 9999 41615 416 15 1 1 0
|
|
0.999999000 00:00:00.999999 0 0 0 0 0 0 999999
|
|
0.999990000 00:00:00.999990 0 0 0 0 0 0 999990
|
|
0.999900000 00:00:00.999900 0 0 0 0 0 0 999900
|
|
0.999000000 00:00:00.999000 0 0 0 0 0 0 999000
|
|
0.990000000 00:00:00.990000 0 0 0 0 0 0 990000
|
|
0.900000000 00:00:00.900000 0 0 0 0 0 0 900000
|
|
0.000000000 00:00:00.000000 0 0 0 0 0 0 0
|
|
Warnings:
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '99991231235959.123456000'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '20010101102030.123456000'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '42949672965959.123456000'
|
|
Warning 1292 Incorrect interval value: '42949672965959.123456000' for column `test`.`t1`.`b` at row 3
|
|
Warning 1292 Incorrect interval value: '42949672965959.123456000' for column `test`.`t1`.`b` at row 3
|
|
Warning 1292 Incorrect interval value: '42949672965959.123456000' for column `test`.`t1`.`b` at row 3
|
|
Warning 1292 Incorrect interval value: '42949672965959.123456000' for column `test`.`t1`.`b` at row 3
|
|
Warning 1292 Incorrect interval value: '42949672965959.123456000' for column `test`.`t1`.`b` at row 3
|
|
Warning 1292 Incorrect interval value: '42949672965959.123456000' for column `test`.`t1`.`b` at row 3
|
|
Warning 1292 Incorrect interval value: '42949672965959.123456000' for column `test`.`t1`.`b` at row 3
|
|
Warning 1292 Incorrect interval value: '42949672965959.123456000' for column `test`.`t1`.`b` at row 3
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '42949672955959.123456000'
|
|
Warning 1292 Incorrect interval value: '42949672955959.123456000' for column `test`.`t1`.`b` at row 4
|
|
Warning 1292 Incorrect interval value: '42949672955959.123456000' for column `test`.`t1`.`b` at row 4
|
|
Warning 1292 Incorrect interval value: '42949672955959.123456000' for column `test`.`t1`.`b` at row 4
|
|
Warning 1292 Incorrect interval value: '42949672955959.123456000' for column `test`.`t1`.`b` at row 4
|
|
Warning 1292 Incorrect interval value: '42949672955959.123456000' for column `test`.`t1`.`b` at row 4
|
|
Warning 1292 Incorrect interval value: '42949672955959.123456000' for column `test`.`t1`.`b` at row 4
|
|
Warning 1292 Incorrect interval value: '42949672955959.123456000' for column `test`.`t1`.`b` at row 4
|
|
Warning 1292 Incorrect interval value: '42949672955959.123456000' for column `test`.`t1`.`b` at row 4
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '876494165959.123456000'
|
|
Warning 1292 Incorrect interval value: '876494165959.123456000' for column `test`.`t1`.`b` at row 5
|
|
Warning 1292 Incorrect interval value: '876494165959.123456000' for column `test`.`t1`.`b` at row 5
|
|
Warning 1292 Incorrect interval value: '876494165959.123456000' for column `test`.`t1`.`b` at row 5
|
|
Warning 1292 Incorrect interval value: '876494165959.123456000' for column `test`.`t1`.`b` at row 5
|
|
Warning 1292 Incorrect interval value: '876494165959.123456000' for column `test`.`t1`.`b` at row 5
|
|
Warning 1292 Incorrect interval value: '876494165959.123456000' for column `test`.`t1`.`b` at row 5
|
|
Warning 1292 Incorrect interval value: '876494165959.123456000' for column `test`.`t1`.`b` at row 5
|
|
Warning 1292 Incorrect interval value: '876494165959.123456000' for column `test`.`t1`.`b` at row 5
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '876494155959.123456000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '876494145959.123456000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '99995959.123456000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '99990101.123456000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '99990101.000000000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '0.999999000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '0.999990000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '0.999900000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '0.999000000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '0.990000000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '0.900000000'
|
|
Note 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '0.000000000'
|
|
DROP TABLE t1;
|
|
# Special case: DAY + TIME
|
|
CREATE TABLE t1 (a VARCHAR(64));
|
|
INSERT INTO t1 VALUES ('9999-01-01');
|
|
SELECT a,
|
|
EXTRACT(DAY_HOUR FROM a),
|
|
EXTRACT(DAY_MINUTE FROM a),
|
|
EXTRACT(DAY_SECOND FROM a),
|
|
EXTRACT(DAY_MICROSECOND FROM a),
|
|
EXTRACT(DAY FROM a),
|
|
EXTRACT(HOUR FROM a),
|
|
EXTRACT(MINUTE FROM a),
|
|
EXTRACT(SECOND FROM a),
|
|
EXTRACT(MICROSECOND FROM a)
|
|
FROM t1;
|
|
a EXTRACT(DAY_HOUR FROM a) EXTRACT(DAY_MINUTE FROM a) EXTRACT(DAY_SECOND FROM a) EXTRACT(DAY_MICROSECOND FROM a) EXTRACT(DAY FROM a) EXTRACT(HOUR FROM a) EXTRACT(MINUTE FROM a) EXTRACT(SECOND FROM a) EXTRACT(MICROSECOND FROM a)
|
|
9999-01-01 100 10000 1000000 1000000000000 1 0 0 0 0
|
|
DROP TABLE t1;
|
|
# Bad values
|
|
CREATE TABLE t1 (a VARCHAR(64));
|
|
INSERT INTO t1 VALUES ('');
|
|
SELECT a,
|
|
CAST(a AS INTERVAL DAY_SECOND(6)) AS cidm,
|
|
EXTRACT(DAY_HOUR FROM a),
|
|
EXTRACT(DAY_MINUTE FROM a),
|
|
EXTRACT(DAY_SECOND FROM a),
|
|
EXTRACT(DAY_MICROSECOND FROM a),
|
|
EXTRACT(DAY FROM a),
|
|
EXTRACT(HOUR FROM a),
|
|
EXTRACT(MINUTE FROM a),
|
|
EXTRACT(SECOND FROM a),
|
|
EXTRACT(MICROSECOND FROM a)
|
|
FROM t1;
|
|
a cidm EXTRACT(DAY_HOUR FROM a) EXTRACT(DAY_MINUTE FROM a) EXTRACT(DAY_SECOND FROM a) EXTRACT(DAY_MICROSECOND FROM a) EXTRACT(DAY FROM a) EXTRACT(HOUR FROM a) EXTRACT(MINUTE FROM a) EXTRACT(SECOND FROM a) EXTRACT(MICROSECOND FROM a)
|
|
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
Warning 1292 Incorrect interval value: ''
|
|
DROP TABLE t1;
|
|
# Backward compatibility
|
|
# This still parses as DATETIME
|
|
SELECT EXTRACT(YEAR FROM '2001/02/03 10:20:30');
|
|
EXTRACT(YEAR FROM '2001/02/03 10:20:30')
|
|
2001
|
|
SELECT EXTRACT(MONTH FROM '2001/02/03 10:20:30');
|
|
EXTRACT(MONTH FROM '2001/02/03 10:20:30')
|
|
2
|
|
SELECT EXTRACT(DAY FROM '2001/02/03 10:20:30');
|
|
EXTRACT(DAY FROM '2001/02/03 10:20:30')
|
|
3
|
|
SELECT EXTRACT(YEAR FROM '01/02/03 10:20:30');
|
|
EXTRACT(YEAR FROM '01/02/03 10:20:30')
|
|
2001
|
|
SELECT EXTRACT(MONTH FROM '01/02/03 10:20:30');
|
|
EXTRACT(MONTH FROM '01/02/03 10:20:30')
|
|
2
|
|
SELECT EXTRACT(DAY FROM '01/02/03 10:20:30');
|
|
EXTRACT(DAY FROM '01/02/03 10:20:30')
|
|
3
|
|
SELECT EXTRACT(YEAR FROM '01:02:03 10:20:30');
|
|
EXTRACT(YEAR FROM '01:02:03 10:20:30')
|
|
2001
|
|
SELECT EXTRACT(MONTH FROM '01:02:03 10:20:30');
|
|
EXTRACT(MONTH FROM '01:02:03 10:20:30')
|
|
2
|
|
SELECT EXTRACT(DAY FROM '01:02:03 10:20:30');
|
|
EXTRACT(DAY FROM '01:02:03 10:20:30')
|
|
3
|
|
# This still parses as DATETIME and returns NULL
|
|
SELECT EXTRACT(YEAR FROM "2011-02-32 8:46:06.23434");
|
|
EXTRACT(YEAR FROM "2011-02-32 8:46:06.23434")
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '2011-02-32 8:46:06.23434'
|
|
SELECT EXTRACT(MONTH FROM "2011-02-32 8:46:06.23434");
|
|
EXTRACT(MONTH FROM "2011-02-32 8:46:06.23434")
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '2011-02-32 8:46:06.23434'
|
|
SELECT EXTRACT(DAY FROM "2011-02-32 8:46:06.23434");
|
|
EXTRACT(DAY FROM "2011-02-32 8:46:06.23434")
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '2011-02-32 8:46:06.23434'
|
|
SELECT EXTRACT(HOUR FROM "2011-02-32 8:46:06.23434");
|
|
EXTRACT(HOUR FROM "2011-02-32 8:46:06.23434")
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '2011-02-32 8:46:06.23434'
|
|
# This still parses as DATE
|
|
SELECT EXTRACT(YEAR FROM '2001/02/03');
|
|
EXTRACT(YEAR FROM '2001/02/03')
|
|
2001
|
|
SELECT EXTRACT(MONTH FROM '2001/02/03');
|
|
EXTRACT(MONTH FROM '2001/02/03')
|
|
2
|
|
SELECT EXTRACT(DAY FROM '2001/02/03');
|
|
EXTRACT(DAY FROM '2001/02/03')
|
|
3
|
|
SELECT EXTRACT(YEAR FROM '01/02/03');
|
|
EXTRACT(YEAR FROM '01/02/03')
|
|
2001
|
|
SELECT EXTRACT(MONTH FROM '01/02/03');
|
|
EXTRACT(MONTH FROM '01/02/03')
|
|
2
|
|
SELECT EXTRACT(DAY FROM '01/02/03');
|
|
EXTRACT(DAY FROM '01/02/03')
|
|
3
|
|
SELECT EXTRACT(YEAR FROM '01-02-03');
|
|
EXTRACT(YEAR FROM '01-02-03')
|
|
2001
|
|
SELECT EXTRACT(MONTH FROM '01-02-03');
|
|
EXTRACT(MONTH FROM '01-02-03')
|
|
2
|
|
SELECT EXTRACT(DAY FROM '01-02-03');
|
|
EXTRACT(DAY FROM '01-02-03')
|
|
3
|
|
SELECT EXTRACT(YEAR FROM '1-2-3');
|
|
EXTRACT(YEAR FROM '1-2-3')
|
|
1
|
|
SELECT EXTRACT(MONTH FROM '1-2-3');
|
|
EXTRACT(MONTH FROM '1-2-3')
|
|
2
|
|
SELECT EXTRACT(DAY FROM '1-2-3');
|
|
EXTRACT(DAY FROM '1-2-3')
|
|
3
|
|
SELECT EXTRACT(HOUR FROM '1-2-3');
|
|
EXTRACT(HOUR FROM '1-2-3')
|
|
0
|
|
SELECT EXTRACT(DAY FROM '2024-01-03 garbage /////');
|
|
EXTRACT(DAY FROM '2024-01-03 garbage /////')
|
|
3
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect date value: '2024-01-03 garbage /////'
|
|
SELECT EXTRACT(DAY FROM '24-01-03 garbage /////');
|
|
EXTRACT(DAY FROM '24-01-03 garbage /////')
|
|
3
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect date value: '24-01-03 garbage /////'
|
|
SELECT EXTRACT(DAY FROM '01-02-03');
|
|
EXTRACT(DAY FROM '01-02-03')
|
|
3
|
|
SELECT EXTRACT(DAY FROM '24:02:03T');
|
|
EXTRACT(DAY FROM '24:02:03T')
|
|
3
|
|
SELECT EXTRACT(DAY FROM '24-02-03');
|
|
EXTRACT(DAY FROM '24-02-03')
|
|
3
|
|
SELECT EXTRACT(DAY FROM '24/02/03');
|
|
EXTRACT(DAY FROM '24/02/03')
|
|
3
|
|
SELECT EXTRACT(DAY FROM '11111');
|
|
EXTRACT(DAY FROM '11111')
|
|
1
|
|
SELECT TIME('2001-01-01T'), TIME('2001-01-01T ');
|
|
TIME('2001-01-01T') TIME('2001-01-01T ')
|
|
00:00:00 00:00:00
|
|
SELECT TIME('2001/01/01T'), TIME('2001/01/01T ');
|
|
TIME('2001/01/01T') TIME('2001/01/01T ')
|
|
00:00:00 00:00:00
|
|
SELECT TIME('2001:01:01T'), TIME('2001:01:01T ');
|
|
TIME('2001:01:01T') TIME('2001:01:01T ')
|
|
00:00:00 00:00:00
|
|
SELECT EXTRACT(DAY FROM '2001-01-01T'), EXTRACT(DAY FROM '2001-01-01T ');
|
|
EXTRACT(DAY FROM '2001-01-01T') EXTRACT(DAY FROM '2001-01-01T ')
|
|
1 1
|
|
SELECT EXTRACT(DAY FROM '2001/01/01T'), EXTRACT(DAY FROM '2001/01/01T ');
|
|
EXTRACT(DAY FROM '2001/01/01T') EXTRACT(DAY FROM '2001/01/01T ')
|
|
1 1
|
|
SELECT EXTRACT(DAY FROM '2001:01:01T'), EXTRACT(DAY FROM '2001:01:01T ');
|
|
EXTRACT(DAY FROM '2001:01:01T') EXTRACT(DAY FROM '2001:01:01T ')
|
|
1 1
|
|
SELECT TIME('2001:01:01T'), TIME('2001:01:01T ');
|
|
TIME('2001:01:01T') TIME('2001:01:01T ')
|
|
00:00:00 00:00:00
|
|
SELECT EXTRACT(HOUR FROM '2001-01-01T'), EXTRACT(HOUR FROM '2001-01-01T ');
|
|
EXTRACT(HOUR FROM '2001-01-01T') EXTRACT(HOUR FROM '2001-01-01T ')
|
|
0 0
|
|
SELECT EXTRACT(HOUR FROM '2001/01/01T'), EXTRACT(HOUR FROM '2001/01/01T ');
|
|
EXTRACT(HOUR FROM '2001/01/01T') EXTRACT(HOUR FROM '2001/01/01T ')
|
|
0 0
|
|
SELECT EXTRACT(HOUR FROM '2001:01:01T'), EXTRACT(HOUR FROM '2001:01:01T ');
|
|
EXTRACT(HOUR FROM '2001:01:01T') EXTRACT(HOUR FROM '2001:01:01T ')
|
|
0 0
|
|
# This still parses as DATE and returns NULL (without trying TIME)
|
|
SELECT EXTRACT(DAY FROM '100000:02:03T');
|
|
EXTRACT(DAY FROM '100000:02:03T')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '100000:02:03T'
|
|
SELECT EXTRACT(DAY FROM '100000/02/03');
|
|
EXTRACT(DAY FROM '100000/02/03')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '100000/02/03'
|
|
SELECT EXTRACT(DAY FROM '100000-02-03');
|
|
EXTRACT(DAY FROM '100000-02-03')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '100000-02-03'
|
|
SELECT EXTRACT(DAY FROM '1111');
|
|
EXTRACT(DAY FROM '1111')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '1111'
|
|
SELECT EXTRACT(DAY FROM '111');
|
|
EXTRACT(DAY FROM '111')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '111'
|
|
SELECT EXTRACT(DAY FROM '11');
|
|
EXTRACT(DAY FROM '11')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '11'
|
|
SELECT EXTRACT(DAY FROM '1');
|
|
EXTRACT(DAY FROM '1')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '1'
|
|
# This still parses as TIME
|
|
SELECT EXTRACT(HOUR FROM '11111');
|
|
EXTRACT(HOUR FROM '11111')
|
|
1
|
|
SELECT EXTRACT(HOUR FROM '1111');
|
|
EXTRACT(HOUR FROM '1111')
|
|
0
|
|
SELECT EXTRACT(HOUR FROM '111');
|
|
EXTRACT(HOUR FROM '111')
|
|
0
|
|
SELECT EXTRACT(HOUR FROM '11');
|
|
EXTRACT(HOUR FROM '11')
|
|
0
|
|
SELECT EXTRACT(HOUR FROM '1');
|
|
EXTRACT(HOUR FROM '1')
|
|
0
|
|
SELECT TIME('01:02:03:');
|
|
TIME('01:02:03:')
|
|
01:02:03
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '01:02:03:'
|
|
SELECT TIME('01:02:03-');
|
|
TIME('01:02:03-')
|
|
01:02:03
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '01:02:03-'
|
|
SELECT TIME('01:02:03;');
|
|
TIME('01:02:03;')
|
|
01:02:03
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '01:02:03;'
|
|
SELECT TIME('01:02:03/');
|
|
TIME('01:02:03/')
|
|
01:02:03
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '01:02:03/'
|
|
SELECT EXTRACT(HOUR FROM '01:02:03:');
|
|
EXTRACT(HOUR FROM '01:02:03:')
|
|
1
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '01:02:03:'
|
|
SELECT EXTRACT(HOUR FROM '01:02:03-');
|
|
EXTRACT(HOUR FROM '01:02:03-')
|
|
1
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '01:02:03-'
|
|
SELECT EXTRACT(HOUR FROM '01:02:03;');
|
|
EXTRACT(HOUR FROM '01:02:03;')
|
|
1
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '01:02:03;'
|
|
SELECT EXTRACT(HOUR FROM '01:02:03/');
|
|
EXTRACT(HOUR FROM '01:02:03/')
|
|
1
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '01:02:03/'
|
|
# Backward compatibility preserved for YEAR and MONTH only
|
|
# (behavior has changed for DAY, see below)
|
|
SELECT EXTRACT(YEAR FROM '01:02:03');
|
|
EXTRACT(YEAR FROM '01:02:03')
|
|
2001
|
|
SELECT EXTRACT(MONTH FROM '01:02:03');
|
|
EXTRACT(MONTH FROM '01:02:03')
|
|
2
|
|
SELECT EXTRACT(YEAR FROM '24:01:03 garbage /////');
|
|
EXTRACT(YEAR FROM '24:01:03 garbage /////')
|
|
2024
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect date value: '24:01:03 garbage /////'
|
|
SELECT EXTRACT(MONTH FROM '24:01:03 garbage /////');
|
|
EXTRACT(MONTH FROM '24:01:03 garbage /////')
|
|
1
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect date value: '24:01:03 garbage /////'
|
|
# This still parses as TIME 00:20:01
|
|
SELECT TIME('2001/01/01');
|
|
TIME('2001/01/01')
|
|
00:20:01
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '2001/01/01'
|
|
SELECT TIME('2001-01-01');
|
|
TIME('2001-01-01')
|
|
00:20:01
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '2001-01-01'
|
|
# This still parses as TIME and overflows to '838:59:59'
|
|
SELECT TIME('2001:01:01');
|
|
TIME('2001:01:01')
|
|
838:59:59
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '2001:01:01'
|
|
# This used to parse as DATE, now parses as TIME interval
|
|
CREATE TABLE t1 (a VARCHAR(64));
|
|
INSERT INTO t1 VALUES
|
|
('2024:01:03 garbage /////'),
|
|
('24:01:03 garbage /////'),
|
|
('01:01:03 garbage /////'),
|
|
('2024:02:03'),
|
|
('100000:02:03'),
|
|
('24:02:03'),
|
|
('01:02:03'),
|
|
('01:02:03:'),
|
|
('01:02:03-'),
|
|
('01:02:03;'),
|
|
('01:02:03/'),
|
|
('20 10:20:30');
|
|
SELECT
|
|
EXTRACT(DAY FROM a),
|
|
EXTRACT(DAY_SECOND FROM a), a,
|
|
CAST(a AS INTERVAL DAY_SECOND(6)) AS cidm
|
|
FROM t1;
|
|
EXTRACT(DAY FROM a) EXTRACT(DAY_SECOND FROM a) a cidm
|
|
84 84080103 2024:01:03 garbage ///// NULL
|
|
1 1000103 24:01:03 garbage ///// NULL
|
|
0 10103 01:01:03 garbage ///// NULL
|
|
84 84080203 2024:02:03 84 08:02:03.000000
|
|
4166 4166160203 100000:02:03 4166 16:02:03.000000
|
|
1 1000203 24:02:03 1 00:02:03.000000
|
|
0 10203 01:02:03 01:02:03.000000
|
|
0 10203 01:02:03: 01:02:03.000000
|
|
0 10203 01:02:03- NULL
|
|
0 10203 01:02:03; 01:02:03.000000
|
|
0 10203 01:02:03/ 01:02:03.000000
|
|
20 20102030 20 10:20:30 20 10:20:30.000000
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect time value: '2024:01:03 garbage /////'
|
|
Warning 1292 Truncated incorrect time value: '2024:01:03 garbage /////'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '2024:01:03 garbage /////'
|
|
Warning 1292 Truncated incorrect time value: '24:01:03 garbage /////'
|
|
Warning 1292 Truncated incorrect time value: '24:01:03 garbage /////'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '24:01:03 garbage /////'
|
|
Warning 1292 Truncated incorrect time value: '01:01:03 garbage /////'
|
|
Warning 1292 Truncated incorrect time value: '01:01:03 garbage /////'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '01:01:03 garbage /////'
|
|
Warning 1292 Truncated incorrect time value: '01:02:03:'
|
|
Warning 1292 Truncated incorrect time value: '01:02:03:'
|
|
Warning 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '01:02:03:'
|
|
Warning 1292 Truncated incorrect time value: '01:02:03-'
|
|
Warning 1292 Truncated incorrect time value: '01:02:03-'
|
|
Warning 1292 Incorrect INTERVAL DAY TO SECOND value: '01:02:03-'
|
|
Warning 1292 Truncated incorrect time value: '01:02:03;'
|
|
Warning 1292 Truncated incorrect time value: '01:02:03;'
|
|
Warning 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '01:02:03;'
|
|
Warning 1292 Truncated incorrect time value: '01:02:03/'
|
|
Warning 1292 Truncated incorrect time value: '01:02:03/'
|
|
Warning 1292 Truncated incorrect INTERVAL DAY TO SECOND value: '01:02:03/'
|
|
DROP TABLE t1;
|
|
#
|
|
# Start of 10.5 tests
|
|
#
|
|
#
|
|
# MDEV-33496 Out of range error in AVG(YEAR(datetime)) due to a wrong data type
|
|
#
|
|
CREATE FUNCTION select01() RETURNS TEXT RETURN 'SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?';
|
|
CREATE FUNCTION select02() RETURNS TEXT RETURN 'SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)';
|
|
CREATE TABLE t1 (a DATETIME(6));
|
|
INSERT INTO t1 VALUES ('2001-12-31 10:20:30.999999');
|
|
CREATE FUNCTION params(expr TEXT, count INT) RETURNS TEXT
|
|
BEGIN
|
|
RETURN CONCAT(expr, REPEAT(CONCAT(', ', expr), count-1));
|
|
END;
|
|
$$
|
|
CREATE PROCEDURE show_drop()
|
|
BEGIN
|
|
SELECT TABLE_NAME, COLUMN_TYPE, COLUMN_NAME
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE TABLE_SCHEMA='test'
|
|
AND TABLE_NAME IN ('t1e_nm','t2e_nm','t1f_nm','t2f_nm',
|
|
't1e_ps','t1f_ps','t2e_ps','t2f_ps')
|
|
ORDER BY LEFT(TABLE_NAME, 2), ORDINAL_POSITION, TABLE_NAME;
|
|
FOR rec IN (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
|
|
WHERE TABLE_SCHEMA='test'
|
|
AND TABLE_NAME IN ('t1e_nm','t2e_nm','t1f_nm','t2f_nm',
|
|
't1e_ps','t1f_ps','t2e_ps','t2f_ps'))
|
|
DO
|
|
EXECUTE IMMEDIATE CONCAT('DROP TABLE ', rec.TABLE_NAME);
|
|
END FOR;
|
|
END;
|
|
$$
|
|
CREATE PROCEDURE p1(unit VARCHAR(32))
|
|
BEGIN
|
|
DECLARE do_extract BOOL DEFAULT unit NOT IN('DAYOFYEAR');
|
|
DECLARE query01 TEXT DEFAULT
|
|
CONCAT('CREATE TABLE t2 AS ', select01(), ' FROM t1');
|
|
DECLARE query02 TEXT DEFAULT
|
|
CONCAT('CREATE TABLE t2 AS ', select02(), ' FROM t1');
|
|
IF (do_extract)
|
|
THEN
|
|
EXECUTE IMMEDIATE REPLACE(REPLACE(query01,'t2','t1e_nm'),'?', CONCAT('EXTRACT(',unit,' FROM a)'));
|
|
EXECUTE IMMEDIATE REPLACE(REPLACE(query02,'t2','t2e_nm'),'?', CONCAT('EXTRACT(',unit,' FROM a)'));
|
|
END IF;
|
|
EXECUTE IMMEDIATE REPLACE(REPLACE(query01,'t2','t1f_nm'),'?', CONCAT(unit,'(a)'));
|
|
EXECUTE IMMEDIATE REPLACE(REPLACE(query02,'t2','t2f_nm'),'?', CONCAT(unit,'(a)'));
|
|
END;
|
|
$$
|
|
|
|
|
|
# EXTRACT(YEAR FROM expr) and YEAR(expr) are equivalent
|
|
CALL p1('YEAR');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(YEAR FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), YEAR(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(5) EXTRACT(YEAR FROM a)
|
|
t1e_ps int(5) ?
|
|
t1f_nm int(5) YEAR(a)
|
|
t1f_ps int(5) ?
|
|
t1e_nm int(4) unsigned CAST(EXTRACT(YEAR FROM a) AS UNSIGNED)
|
|
t1e_ps int(4) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(4) unsigned CAST(YEAR(a) AS UNSIGNED)
|
|
t1f_ps int(4) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(5) CAST(EXTRACT(YEAR FROM a) AS SIGNED)
|
|
t1e_ps int(5) CAST(? AS SIGNED)
|
|
t1f_nm int(5) CAST(YEAR(a) AS SIGNED)
|
|
t1f_ps int(5) CAST(? AS SIGNED)
|
|
t1e_nm int(5) ABS(EXTRACT(YEAR FROM a))
|
|
t1e_ps int(5) ABS(?)
|
|
t1f_nm int(5) ABS(YEAR(a))
|
|
t1f_ps int(5) ABS(?)
|
|
t1e_nm int(5) ROUND(EXTRACT(YEAR FROM a))
|
|
t1e_ps int(5) ROUND(?)
|
|
t1f_nm int(5) ROUND(YEAR(a))
|
|
t1f_ps int(5) ROUND(?)
|
|
t1e_nm int(5) -EXTRACT(YEAR FROM a)
|
|
t1e_ps int(5) -?
|
|
t1f_nm int(5) -YEAR(a)
|
|
t1f_ps int(5) -?
|
|
t1e_nm int(6) ROUND(EXTRACT(YEAR FROM a),-1)
|
|
t1e_ps int(6) ROUND(?,-1)
|
|
t1f_nm int(6) ROUND(YEAR(a),-1)
|
|
t1f_ps int(6) ROUND(?,-1)
|
|
t1e_nm int(6) EXTRACT(YEAR FROM a)+0
|
|
t1e_ps int(6) ?+0
|
|
t1f_nm int(6) YEAR(a)+0
|
|
t1f_ps int(6) ?+0
|
|
t1e_nm decimal(6,1) EXTRACT(YEAR FROM a)+0.0
|
|
t1e_ps decimal(6,1) ?+0.0
|
|
t1f_nm decimal(6,1) YEAR(a)+0.0
|
|
t1f_ps decimal(6,1) ?+0.0
|
|
t1e_nm varchar(4) CONCAT(EXTRACT(YEAR FROM a))
|
|
t1e_ps varchar(4) CONCAT(?)
|
|
t1f_nm varchar(4) CONCAT(YEAR(a))
|
|
t1f_ps varchar(4) CONCAT(?)
|
|
t1e_nm int(5) LEAST(EXTRACT(YEAR FROM a),EXTRACT(YEAR FROM a))
|
|
t1e_ps int(5) LEAST(?,?)
|
|
t1f_nm int(5) LEAST(YEAR(a),YEAR(a))
|
|
t1f_ps int(5) LEAST(?,?)
|
|
t1e_nm int(5) COALESCE(EXTRACT(YEAR FROM a))
|
|
t1e_ps int(5) COALESCE(?)
|
|
t1f_nm int(5) COALESCE(YEAR(a))
|
|
t1f_ps int(5) COALESCE(?)
|
|
t1e_nm int(5) COALESCE(EXTRACT(YEAR FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(5) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(5) COALESCE(YEAR(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(5) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(4,0) COALESCE(EXTRACT(YEAR FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(4,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(4,0) COALESCE(YEAR(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(4,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(5) @a:=EXTRACT(YEAR FROM a)
|
|
t1e_ps int(5) @a:=?
|
|
t1f_nm int(5) @a:=YEAR(a)
|
|
t1f_ps int(5) @a:=?
|
|
t2e_nm decimal(8,4) AVG(EXTRACT(YEAR FROM a))
|
|
t2e_ps decimal(8,4) AVG(?)
|
|
t2f_nm decimal(8,4) AVG(YEAR(a))
|
|
t2f_ps decimal(8,4) AVG(?)
|
|
t2e_nm bigint(5) MIN(EXTRACT(YEAR FROM a))
|
|
t2e_ps bigint(5) MIN(?)
|
|
t2f_nm bigint(5) MIN(YEAR(a))
|
|
t2f_ps bigint(5) MIN(?)
|
|
t2e_nm bigint(5) MAX(EXTRACT(YEAR FROM a))
|
|
t2e_ps bigint(5) MAX(?)
|
|
t2f_nm bigint(5) MAX(YEAR(a))
|
|
t2f_ps bigint(5) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(YEAR FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(YEAR(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# EXTRACT(QUARTER FROM expr) and QUARTER(expr) are equavalent
|
|
CALL p1('QUARTER');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(QUARTER FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999'), QUARTER(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(2) EXTRACT(QUARTER FROM a)
|
|
t1e_ps int(2) ?
|
|
t1f_nm int(2) QUARTER(a)
|
|
t1f_ps int(2) ?
|
|
t1e_nm int(1) unsigned CAST(EXTRACT(QUARTER FROM a) AS UNSIGNED)
|
|
t1e_ps int(1) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(1) unsigned CAST(QUARTER(a) AS UNSIGNED)
|
|
t1f_ps int(1) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(2) CAST(EXTRACT(QUARTER FROM a) AS SIGNED)
|
|
t1e_ps int(2) CAST(? AS SIGNED)
|
|
t1f_nm int(2) CAST(QUARTER(a) AS SIGNED)
|
|
t1f_ps int(2) CAST(? AS SIGNED)
|
|
t1e_nm int(2) ABS(EXTRACT(QUARTER FROM a))
|
|
t1e_ps int(2) ABS(?)
|
|
t1f_nm int(2) ABS(QUARTER(a))
|
|
t1f_ps int(2) ABS(?)
|
|
t1e_nm int(2) ROUND(EXTRACT(QUARTER FROM a))
|
|
t1e_ps int(2) ROUND(?)
|
|
t1f_nm int(2) ROUND(QUARTER(a))
|
|
t1f_ps int(2) ROUND(?)
|
|
t1e_nm int(2) -EXTRACT(QUARTER FROM a)
|
|
t1e_ps int(2) -?
|
|
t1f_nm int(2) -QUARTER(a)
|
|
t1f_ps int(2) -?
|
|
t1e_nm int(3) ROUND(EXTRACT(QUARTER FROM a),-1)
|
|
t1e_ps int(3) ROUND(?,-1)
|
|
t1f_nm int(3) ROUND(QUARTER(a),-1)
|
|
t1f_ps int(3) ROUND(?,-1)
|
|
t1e_nm int(3) EXTRACT(QUARTER FROM a)+0
|
|
t1e_ps int(3) ?+0
|
|
t1f_nm int(3) QUARTER(a)+0
|
|
t1f_ps int(3) ?+0
|
|
t1e_nm decimal(3,1) EXTRACT(QUARTER FROM a)+0.0
|
|
t1e_ps decimal(3,1) ?+0.0
|
|
t1f_nm decimal(3,1) QUARTER(a)+0.0
|
|
t1f_ps decimal(3,1) ?+0.0
|
|
t1e_nm varchar(1) CONCAT(EXTRACT(QUARTER FROM a))
|
|
t1e_ps varchar(1) CONCAT(?)
|
|
t1f_nm varchar(1) CONCAT(QUARTER(a))
|
|
t1f_ps varchar(1) CONCAT(?)
|
|
t1e_nm int(2) LEAST(EXTRACT(QUARTER FROM a),EXTRACT(QUARTER FROM a))
|
|
t1e_ps int(2) LEAST(?,?)
|
|
t1f_nm int(2) LEAST(QUARTER(a),QUARTER(a))
|
|
t1f_ps int(2) LEAST(?,?)
|
|
t1e_nm int(2) COALESCE(EXTRACT(QUARTER FROM a))
|
|
t1e_ps int(2) COALESCE(?)
|
|
t1f_nm int(2) COALESCE(QUARTER(a))
|
|
t1f_ps int(2) COALESCE(?)
|
|
t1e_nm int(2) COALESCE(EXTRACT(QUARTER FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(2) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(2) COALESCE(QUARTER(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(2) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(1,0) COALESCE(EXTRACT(QUARTER FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(1,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(1,0) COALESCE(QUARTER(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(1,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(2) @a:=EXTRACT(QUARTER FROM a)
|
|
t1e_ps int(2) @a:=?
|
|
t1f_nm int(2) @a:=QUARTER(a)
|
|
t1f_ps int(2) @a:=?
|
|
t2e_nm decimal(5,4) AVG(EXTRACT(QUARTER FROM a))
|
|
t2e_ps decimal(5,4) AVG(?)
|
|
t2f_nm decimal(5,4) AVG(QUARTER(a))
|
|
t2f_ps decimal(5,4) AVG(?)
|
|
t2e_nm bigint(2) MIN(EXTRACT(QUARTER FROM a))
|
|
t2e_ps bigint(2) MIN(?)
|
|
t2f_nm bigint(2) MIN(QUARTER(a))
|
|
t2f_ps bigint(2) MIN(?)
|
|
t2e_nm bigint(2) MAX(EXTRACT(QUARTER FROM a))
|
|
t2e_ps bigint(2) MAX(?)
|
|
t2f_nm bigint(2) MAX(QUARTER(a))
|
|
t2f_ps bigint(2) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(QUARTER FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(QUARTER(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# EXTRACT(MONTH FROM expr) and MONTH(expr) are equavalent
|
|
CALL p1('MONTH');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MONTH FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999'), MONTH(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(3) EXTRACT(MONTH FROM a)
|
|
t1e_ps int(3) ?
|
|
t1f_nm int(3) MONTH(a)
|
|
t1f_ps int(3) ?
|
|
t1e_nm int(2) unsigned CAST(EXTRACT(MONTH FROM a) AS UNSIGNED)
|
|
t1e_ps int(2) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(2) unsigned CAST(MONTH(a) AS UNSIGNED)
|
|
t1f_ps int(2) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(3) CAST(EXTRACT(MONTH FROM a) AS SIGNED)
|
|
t1e_ps int(3) CAST(? AS SIGNED)
|
|
t1f_nm int(3) CAST(MONTH(a) AS SIGNED)
|
|
t1f_ps int(3) CAST(? AS SIGNED)
|
|
t1e_nm int(3) ABS(EXTRACT(MONTH FROM a))
|
|
t1e_ps int(3) ABS(?)
|
|
t1f_nm int(3) ABS(MONTH(a))
|
|
t1f_ps int(3) ABS(?)
|
|
t1e_nm int(3) ROUND(EXTRACT(MONTH FROM a))
|
|
t1e_ps int(3) ROUND(?)
|
|
t1f_nm int(3) ROUND(MONTH(a))
|
|
t1f_ps int(3) ROUND(?)
|
|
t1e_nm int(3) -EXTRACT(MONTH FROM a)
|
|
t1e_ps int(3) -?
|
|
t1f_nm int(3) -MONTH(a)
|
|
t1f_ps int(3) -?
|
|
t1e_nm int(4) ROUND(EXTRACT(MONTH FROM a),-1)
|
|
t1e_ps int(4) ROUND(?,-1)
|
|
t1f_nm int(4) ROUND(MONTH(a),-1)
|
|
t1f_ps int(4) ROUND(?,-1)
|
|
t1e_nm int(4) EXTRACT(MONTH FROM a)+0
|
|
t1e_ps int(4) ?+0
|
|
t1f_nm int(4) MONTH(a)+0
|
|
t1f_ps int(4) ?+0
|
|
t1e_nm decimal(4,1) EXTRACT(MONTH FROM a)+0.0
|
|
t1e_ps decimal(4,1) ?+0.0
|
|
t1f_nm decimal(4,1) MONTH(a)+0.0
|
|
t1f_ps decimal(4,1) ?+0.0
|
|
t1e_nm varchar(2) CONCAT(EXTRACT(MONTH FROM a))
|
|
t1e_ps varchar(2) CONCAT(?)
|
|
t1f_nm varchar(2) CONCAT(MONTH(a))
|
|
t1f_ps varchar(2) CONCAT(?)
|
|
t1e_nm int(3) LEAST(EXTRACT(MONTH FROM a),EXTRACT(MONTH FROM a))
|
|
t1e_ps int(3) LEAST(?,?)
|
|
t1f_nm int(3) LEAST(MONTH(a),MONTH(a))
|
|
t1f_ps int(3) LEAST(?,?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(MONTH FROM a))
|
|
t1e_ps int(3) COALESCE(?)
|
|
t1f_nm int(3) COALESCE(MONTH(a))
|
|
t1f_ps int(3) COALESCE(?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(MONTH FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(3) COALESCE(MONTH(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(2,0) COALESCE(EXTRACT(MONTH FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(2,0) COALESCE(MONTH(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(3) @a:=EXTRACT(MONTH FROM a)
|
|
t1e_ps int(3) @a:=?
|
|
t1f_nm int(3) @a:=MONTH(a)
|
|
t1f_ps int(3) @a:=?
|
|
t2e_nm decimal(6,4) AVG(EXTRACT(MONTH FROM a))
|
|
t2e_ps decimal(6,4) AVG(?)
|
|
t2f_nm decimal(6,4) AVG(MONTH(a))
|
|
t2f_ps decimal(6,4) AVG(?)
|
|
t2e_nm bigint(3) MIN(EXTRACT(MONTH FROM a))
|
|
t2e_ps bigint(3) MIN(?)
|
|
t2f_nm bigint(3) MIN(MONTH(a))
|
|
t2f_ps bigint(3) MIN(?)
|
|
t2e_nm bigint(3) MAX(EXTRACT(MONTH FROM a))
|
|
t2e_ps bigint(3) MAX(?)
|
|
t2f_nm bigint(3) MAX(MONTH(a))
|
|
t2f_ps bigint(3) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(MONTH FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(MONTH(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# EXTRACT(WEEK FROM expr) and WEEK(expr) are equavalent
|
|
CALL p1('WEEK');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(WEEK FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999'), WEEK(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(3) EXTRACT(WEEK FROM a)
|
|
t1e_ps int(3) ?
|
|
t1f_nm int(3) WEEK(a)
|
|
t1f_ps int(3) ?
|
|
t1e_nm int(2) unsigned CAST(EXTRACT(WEEK FROM a) AS UNSIGNED)
|
|
t1e_ps int(2) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(2) unsigned CAST(WEEK(a) AS UNSIGNED)
|
|
t1f_ps int(2) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(3) CAST(EXTRACT(WEEK FROM a) AS SIGNED)
|
|
t1e_ps int(3) CAST(? AS SIGNED)
|
|
t1f_nm int(3) CAST(WEEK(a) AS SIGNED)
|
|
t1f_ps int(3) CAST(? AS SIGNED)
|
|
t1e_nm int(3) ABS(EXTRACT(WEEK FROM a))
|
|
t1e_ps int(3) ABS(?)
|
|
t1f_nm int(3) ABS(WEEK(a))
|
|
t1f_ps int(3) ABS(?)
|
|
t1e_nm int(3) ROUND(EXTRACT(WEEK FROM a))
|
|
t1e_ps int(3) ROUND(?)
|
|
t1f_nm int(3) ROUND(WEEK(a))
|
|
t1f_ps int(3) ROUND(?)
|
|
t1e_nm int(3) -EXTRACT(WEEK FROM a)
|
|
t1e_ps int(3) -?
|
|
t1f_nm int(3) -WEEK(a)
|
|
t1f_ps int(3) -?
|
|
t1e_nm int(4) ROUND(EXTRACT(WEEK FROM a),-1)
|
|
t1e_ps int(4) ROUND(?,-1)
|
|
t1f_nm int(4) ROUND(WEEK(a),-1)
|
|
t1f_ps int(4) ROUND(?,-1)
|
|
t1e_nm int(4) EXTRACT(WEEK FROM a)+0
|
|
t1e_ps int(4) ?+0
|
|
t1f_nm int(4) WEEK(a)+0
|
|
t1f_ps int(4) ?+0
|
|
t1e_nm decimal(4,1) EXTRACT(WEEK FROM a)+0.0
|
|
t1e_ps decimal(4,1) ?+0.0
|
|
t1f_nm decimal(4,1) WEEK(a)+0.0
|
|
t1f_ps decimal(4,1) ?+0.0
|
|
t1e_nm varchar(2) CONCAT(EXTRACT(WEEK FROM a))
|
|
t1e_ps varchar(2) CONCAT(?)
|
|
t1f_nm varchar(2) CONCAT(WEEK(a))
|
|
t1f_ps varchar(2) CONCAT(?)
|
|
t1e_nm int(3) LEAST(EXTRACT(WEEK FROM a),EXTRACT(WEEK FROM a))
|
|
t1e_ps int(3) LEAST(?,?)
|
|
t1f_nm int(3) LEAST(WEEK(a),WEEK(a))
|
|
t1f_ps int(3) LEAST(?,?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(WEEK FROM a))
|
|
t1e_ps int(3) COALESCE(?)
|
|
t1f_nm int(3) COALESCE(WEEK(a))
|
|
t1f_ps int(3) COALESCE(?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(WEEK FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(3) COALESCE(WEEK(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(2,0) COALESCE(EXTRACT(WEEK FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(2,0) COALESCE(WEEK(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(3) @a:=EXTRACT(WEEK FROM a)
|
|
t1e_ps int(3) @a:=?
|
|
t1f_nm int(3) @a:=WEEK(a)
|
|
t1f_ps int(3) @a:=?
|
|
t2e_nm decimal(6,4) AVG(EXTRACT(WEEK FROM a))
|
|
t2e_ps decimal(6,4) AVG(?)
|
|
t2f_nm decimal(6,4) AVG(WEEK(a))
|
|
t2f_ps decimal(6,4) AVG(?)
|
|
t2e_nm bigint(3) MIN(EXTRACT(WEEK FROM a))
|
|
t2e_ps bigint(3) MIN(?)
|
|
t2f_nm bigint(3) MIN(WEEK(a))
|
|
t2f_ps bigint(3) MIN(?)
|
|
t2e_nm bigint(3) MAX(EXTRACT(WEEK FROM a))
|
|
t2e_ps bigint(3) MAX(?)
|
|
t2f_nm bigint(3) MAX(WEEK(a))
|
|
t2f_ps bigint(3) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(WEEK FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(WEEK(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# EXTRACT(DAY FROM expr) returns hours/24 and includes the sign for TIME
|
|
# DAY(expr) returns the DD part of CAST(expr AS DATETIME)
|
|
CALL p1('DAY');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(DAY FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999'), DAY(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(3) EXTRACT(DAY FROM a)
|
|
t1e_ps int(3) ?
|
|
t1f_nm int(3) DAY(a)
|
|
t1f_ps int(3) ?
|
|
t1e_nm bigint(20) unsigned CAST(EXTRACT(DAY FROM a) AS UNSIGNED)
|
|
t1e_ps bigint(20) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(2) unsigned CAST(DAY(a) AS UNSIGNED)
|
|
t1f_ps int(2) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(3) CAST(EXTRACT(DAY FROM a) AS SIGNED)
|
|
t1e_ps int(3) CAST(? AS SIGNED)
|
|
t1f_nm int(3) CAST(DAY(a) AS SIGNED)
|
|
t1f_ps int(3) CAST(? AS SIGNED)
|
|
t1e_nm int(3) ABS(EXTRACT(DAY FROM a))
|
|
t1e_ps int(3) ABS(?)
|
|
t1f_nm int(3) ABS(DAY(a))
|
|
t1f_ps int(3) ABS(?)
|
|
t1e_nm int(3) ROUND(EXTRACT(DAY FROM a))
|
|
t1e_ps int(3) ROUND(?)
|
|
t1f_nm int(3) ROUND(DAY(a))
|
|
t1f_ps int(3) ROUND(?)
|
|
t1e_nm int(4) -EXTRACT(DAY FROM a)
|
|
t1e_ps int(4) -?
|
|
t1f_nm int(3) -DAY(a)
|
|
t1f_ps int(3) -?
|
|
t1e_nm int(4) ROUND(EXTRACT(DAY FROM a),-1)
|
|
t1e_ps int(4) ROUND(?,-1)
|
|
t1f_nm int(4) ROUND(DAY(a),-1)
|
|
t1f_ps int(4) ROUND(?,-1)
|
|
t1e_nm int(4) EXTRACT(DAY FROM a)+0
|
|
t1e_ps int(4) ?+0
|
|
t1f_nm int(4) DAY(a)+0
|
|
t1f_ps int(4) ?+0
|
|
t1e_nm decimal(4,1) EXTRACT(DAY FROM a)+0.0
|
|
t1e_ps decimal(4,1) ?+0.0
|
|
t1f_nm decimal(4,1) DAY(a)+0.0
|
|
t1f_ps decimal(4,1) ?+0.0
|
|
t1e_nm varchar(3) CONCAT(EXTRACT(DAY FROM a))
|
|
t1e_ps varchar(3) CONCAT(?)
|
|
t1f_nm varchar(2) CONCAT(DAY(a))
|
|
t1f_ps varchar(2) CONCAT(?)
|
|
t1e_nm int(3) LEAST(EXTRACT(DAY FROM a),EXTRACT(DAY FROM a))
|
|
t1e_ps int(3) LEAST(?,?)
|
|
t1f_nm int(3) LEAST(DAY(a),DAY(a))
|
|
t1f_ps int(3) LEAST(?,?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(DAY FROM a))
|
|
t1e_ps int(3) COALESCE(?)
|
|
t1f_nm int(3) COALESCE(DAY(a))
|
|
t1f_ps int(3) COALESCE(?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(DAY FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(3) COALESCE(DAY(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(2,0) COALESCE(EXTRACT(DAY FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(2,0) COALESCE(DAY(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(3) @a:=EXTRACT(DAY FROM a)
|
|
t1e_ps int(3) @a:=?
|
|
t1f_nm int(3) @a:=DAY(a)
|
|
t1f_ps int(3) @a:=?
|
|
t2e_nm decimal(6,4) AVG(EXTRACT(DAY FROM a))
|
|
t2e_ps decimal(6,4) AVG(?)
|
|
t2f_nm decimal(6,4) AVG(DAY(a))
|
|
t2f_ps decimal(6,4) AVG(?)
|
|
t2e_nm bigint(3) MIN(EXTRACT(DAY FROM a))
|
|
t2e_ps bigint(3) MIN(?)
|
|
t2f_nm bigint(3) MIN(DAY(a))
|
|
t2f_ps bigint(3) MIN(?)
|
|
t2e_nm bigint(3) MAX(EXTRACT(DAY FROM a))
|
|
t2e_ps bigint(3) MAX(?)
|
|
t2f_nm bigint(3) MAX(DAY(a))
|
|
t2f_ps bigint(3) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(DAY FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(DAY(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# EXTRACT(HOUR FROM expr) returns hours%24 and includes the sign for TIME
|
|
# HOUR(expr) returns the hh part of CAST(expr AS DATETIME)
|
|
CALL p1('HOUR');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(HOUR FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999'), HOUR(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(3) EXTRACT(HOUR FROM a)
|
|
t1e_ps int(3) ?
|
|
t1f_nm int(3) HOUR(a)
|
|
t1f_ps int(3) ?
|
|
t1e_nm bigint(20) unsigned CAST(EXTRACT(HOUR FROM a) AS UNSIGNED)
|
|
t1e_ps bigint(20) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(2) unsigned CAST(HOUR(a) AS UNSIGNED)
|
|
t1f_ps int(2) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(3) CAST(EXTRACT(HOUR FROM a) AS SIGNED)
|
|
t1e_ps int(3) CAST(? AS SIGNED)
|
|
t1f_nm int(3) CAST(HOUR(a) AS SIGNED)
|
|
t1f_ps int(3) CAST(? AS SIGNED)
|
|
t1e_nm int(3) ABS(EXTRACT(HOUR FROM a))
|
|
t1e_ps int(3) ABS(?)
|
|
t1f_nm int(3) ABS(HOUR(a))
|
|
t1f_ps int(3) ABS(?)
|
|
t1e_nm int(3) ROUND(EXTRACT(HOUR FROM a))
|
|
t1e_ps int(3) ROUND(?)
|
|
t1f_nm int(3) ROUND(HOUR(a))
|
|
t1f_ps int(3) ROUND(?)
|
|
t1e_nm int(4) -EXTRACT(HOUR FROM a)
|
|
t1e_ps int(4) -?
|
|
t1f_nm int(3) -HOUR(a)
|
|
t1f_ps int(3) -?
|
|
t1e_nm int(4) ROUND(EXTRACT(HOUR FROM a),-1)
|
|
t1e_ps int(4) ROUND(?,-1)
|
|
t1f_nm int(4) ROUND(HOUR(a),-1)
|
|
t1f_ps int(4) ROUND(?,-1)
|
|
t1e_nm int(4) EXTRACT(HOUR FROM a)+0
|
|
t1e_ps int(4) ?+0
|
|
t1f_nm int(4) HOUR(a)+0
|
|
t1f_ps int(4) ?+0
|
|
t1e_nm decimal(4,1) EXTRACT(HOUR FROM a)+0.0
|
|
t1e_ps decimal(4,1) ?+0.0
|
|
t1f_nm decimal(4,1) HOUR(a)+0.0
|
|
t1f_ps decimal(4,1) ?+0.0
|
|
t1e_nm varchar(3) CONCAT(EXTRACT(HOUR FROM a))
|
|
t1e_ps varchar(3) CONCAT(?)
|
|
t1f_nm varchar(2) CONCAT(HOUR(a))
|
|
t1f_ps varchar(2) CONCAT(?)
|
|
t1e_nm int(3) LEAST(EXTRACT(HOUR FROM a),EXTRACT(HOUR FROM a))
|
|
t1e_ps int(3) LEAST(?,?)
|
|
t1f_nm int(3) LEAST(HOUR(a),HOUR(a))
|
|
t1f_ps int(3) LEAST(?,?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(HOUR FROM a))
|
|
t1e_ps int(3) COALESCE(?)
|
|
t1f_nm int(3) COALESCE(HOUR(a))
|
|
t1f_ps int(3) COALESCE(?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(HOUR FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(3) COALESCE(HOUR(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(2,0) COALESCE(EXTRACT(HOUR FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(2,0) COALESCE(HOUR(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(3) @a:=EXTRACT(HOUR FROM a)
|
|
t1e_ps int(3) @a:=?
|
|
t1f_nm int(3) @a:=HOUR(a)
|
|
t1f_ps int(3) @a:=?
|
|
t2e_nm decimal(6,4) AVG(EXTRACT(HOUR FROM a))
|
|
t2e_ps decimal(6,4) AVG(?)
|
|
t2f_nm decimal(6,4) AVG(HOUR(a))
|
|
t2f_ps decimal(6,4) AVG(?)
|
|
t2e_nm bigint(3) MIN(EXTRACT(HOUR FROM a))
|
|
t2e_ps bigint(3) MIN(?)
|
|
t2f_nm bigint(3) MIN(HOUR(a))
|
|
t2f_ps bigint(3) MIN(?)
|
|
t2e_nm bigint(3) MAX(EXTRACT(HOUR FROM a))
|
|
t2e_ps bigint(3) MAX(?)
|
|
t2f_nm bigint(3) MAX(HOUR(a))
|
|
t2f_ps bigint(3) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(HOUR FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(HOUR(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# EXTRACT(MINUTE FROM expr) includes the sign for TIME
|
|
# MINUTE(expr) returns the absolute value
|
|
CALL p1('MINUTE');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MINUTE FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999'), MINUTE(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(3) EXTRACT(MINUTE FROM a)
|
|
t1e_ps int(3) ?
|
|
t1f_nm int(3) MINUTE(a)
|
|
t1f_ps int(3) ?
|
|
t1e_nm bigint(20) unsigned CAST(EXTRACT(MINUTE FROM a) AS UNSIGNED)
|
|
t1e_ps bigint(20) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(2) unsigned CAST(MINUTE(a) AS UNSIGNED)
|
|
t1f_ps int(2) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(3) CAST(EXTRACT(MINUTE FROM a) AS SIGNED)
|
|
t1e_ps int(3) CAST(? AS SIGNED)
|
|
t1f_nm int(3) CAST(MINUTE(a) AS SIGNED)
|
|
t1f_ps int(3) CAST(? AS SIGNED)
|
|
t1e_nm int(3) ABS(EXTRACT(MINUTE FROM a))
|
|
t1e_ps int(3) ABS(?)
|
|
t1f_nm int(3) ABS(MINUTE(a))
|
|
t1f_ps int(3) ABS(?)
|
|
t1e_nm int(3) ROUND(EXTRACT(MINUTE FROM a))
|
|
t1e_ps int(3) ROUND(?)
|
|
t1f_nm int(3) ROUND(MINUTE(a))
|
|
t1f_ps int(3) ROUND(?)
|
|
t1e_nm int(4) -EXTRACT(MINUTE FROM a)
|
|
t1e_ps int(4) -?
|
|
t1f_nm int(3) -MINUTE(a)
|
|
t1f_ps int(3) -?
|
|
t1e_nm int(4) ROUND(EXTRACT(MINUTE FROM a),-1)
|
|
t1e_ps int(4) ROUND(?,-1)
|
|
t1f_nm int(4) ROUND(MINUTE(a),-1)
|
|
t1f_ps int(4) ROUND(?,-1)
|
|
t1e_nm int(4) EXTRACT(MINUTE FROM a)+0
|
|
t1e_ps int(4) ?+0
|
|
t1f_nm int(4) MINUTE(a)+0
|
|
t1f_ps int(4) ?+0
|
|
t1e_nm decimal(4,1) EXTRACT(MINUTE FROM a)+0.0
|
|
t1e_ps decimal(4,1) ?+0.0
|
|
t1f_nm decimal(4,1) MINUTE(a)+0.0
|
|
t1f_ps decimal(4,1) ?+0.0
|
|
t1e_nm varchar(3) CONCAT(EXTRACT(MINUTE FROM a))
|
|
t1e_ps varchar(3) CONCAT(?)
|
|
t1f_nm varchar(2) CONCAT(MINUTE(a))
|
|
t1f_ps varchar(2) CONCAT(?)
|
|
t1e_nm int(3) LEAST(EXTRACT(MINUTE FROM a),EXTRACT(MINUTE FROM a))
|
|
t1e_ps int(3) LEAST(?,?)
|
|
t1f_nm int(3) LEAST(MINUTE(a),MINUTE(a))
|
|
t1f_ps int(3) LEAST(?,?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(MINUTE FROM a))
|
|
t1e_ps int(3) COALESCE(?)
|
|
t1f_nm int(3) COALESCE(MINUTE(a))
|
|
t1f_ps int(3) COALESCE(?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(MINUTE FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(3) COALESCE(MINUTE(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(2,0) COALESCE(EXTRACT(MINUTE FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(2,0) COALESCE(MINUTE(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(3) @a:=EXTRACT(MINUTE FROM a)
|
|
t1e_ps int(3) @a:=?
|
|
t1f_nm int(3) @a:=MINUTE(a)
|
|
t1f_ps int(3) @a:=?
|
|
t2e_nm decimal(6,4) AVG(EXTRACT(MINUTE FROM a))
|
|
t2e_ps decimal(6,4) AVG(?)
|
|
t2f_nm decimal(6,4) AVG(MINUTE(a))
|
|
t2f_ps decimal(6,4) AVG(?)
|
|
t2e_nm bigint(3) MIN(EXTRACT(MINUTE FROM a))
|
|
t2e_ps bigint(3) MIN(?)
|
|
t2f_nm bigint(3) MIN(MINUTE(a))
|
|
t2f_ps bigint(3) MIN(?)
|
|
t2e_nm bigint(3) MAX(EXTRACT(MINUTE FROM a))
|
|
t2e_ps bigint(3) MAX(?)
|
|
t2f_nm bigint(3) MAX(MINUTE(a))
|
|
t2f_ps bigint(3) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(MINUTE FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(MINUTE(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# EXTRACT(SECONDS FROM expr) includes the sign for TIME
|
|
# SECONDS(expr) returns the absolute value
|
|
CALL p1('SECOND');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(SECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), SECOND(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(3) EXTRACT(SECOND FROM a)
|
|
t1e_ps int(3) ?
|
|
t1f_nm int(3) SECOND(a)
|
|
t1f_ps int(3) ?
|
|
t1e_nm bigint(20) unsigned CAST(EXTRACT(SECOND FROM a) AS UNSIGNED)
|
|
t1e_ps bigint(20) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(2) unsigned CAST(SECOND(a) AS UNSIGNED)
|
|
t1f_ps int(2) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(3) CAST(EXTRACT(SECOND FROM a) AS SIGNED)
|
|
t1e_ps int(3) CAST(? AS SIGNED)
|
|
t1f_nm int(3) CAST(SECOND(a) AS SIGNED)
|
|
t1f_ps int(3) CAST(? AS SIGNED)
|
|
t1e_nm int(3) ABS(EXTRACT(SECOND FROM a))
|
|
t1e_ps int(3) ABS(?)
|
|
t1f_nm int(3) ABS(SECOND(a))
|
|
t1f_ps int(3) ABS(?)
|
|
t1e_nm int(3) ROUND(EXTRACT(SECOND FROM a))
|
|
t1e_ps int(3) ROUND(?)
|
|
t1f_nm int(3) ROUND(SECOND(a))
|
|
t1f_ps int(3) ROUND(?)
|
|
t1e_nm int(4) -EXTRACT(SECOND FROM a)
|
|
t1e_ps int(4) -?
|
|
t1f_nm int(3) -SECOND(a)
|
|
t1f_ps int(3) -?
|
|
t1e_nm int(4) ROUND(EXTRACT(SECOND FROM a),-1)
|
|
t1e_ps int(4) ROUND(?,-1)
|
|
t1f_nm int(4) ROUND(SECOND(a),-1)
|
|
t1f_ps int(4) ROUND(?,-1)
|
|
t1e_nm int(4) EXTRACT(SECOND FROM a)+0
|
|
t1e_ps int(4) ?+0
|
|
t1f_nm int(4) SECOND(a)+0
|
|
t1f_ps int(4) ?+0
|
|
t1e_nm decimal(4,1) EXTRACT(SECOND FROM a)+0.0
|
|
t1e_ps decimal(4,1) ?+0.0
|
|
t1f_nm decimal(4,1) SECOND(a)+0.0
|
|
t1f_ps decimal(4,1) ?+0.0
|
|
t1e_nm varchar(3) CONCAT(EXTRACT(SECOND FROM a))
|
|
t1e_ps varchar(3) CONCAT(?)
|
|
t1f_nm varchar(2) CONCAT(SECOND(a))
|
|
t1f_ps varchar(2) CONCAT(?)
|
|
t1e_nm int(3) LEAST(EXTRACT(SECOND FROM a),EXTRACT(SECOND FROM a))
|
|
t1e_ps int(3) LEAST(?,?)
|
|
t1f_nm int(3) LEAST(SECOND(a),SECOND(a))
|
|
t1f_ps int(3) LEAST(?,?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(SECOND FROM a))
|
|
t1e_ps int(3) COALESCE(?)
|
|
t1f_nm int(3) COALESCE(SECOND(a))
|
|
t1f_ps int(3) COALESCE(?)
|
|
t1e_nm int(3) COALESCE(EXTRACT(SECOND FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(3) COALESCE(SECOND(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(3) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(2,0) COALESCE(EXTRACT(SECOND FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(2,0) COALESCE(SECOND(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(2,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(3) @a:=EXTRACT(SECOND FROM a)
|
|
t1e_ps int(3) @a:=?
|
|
t1f_nm int(3) @a:=SECOND(a)
|
|
t1f_ps int(3) @a:=?
|
|
t2e_nm decimal(6,4) AVG(EXTRACT(SECOND FROM a))
|
|
t2e_ps decimal(6,4) AVG(?)
|
|
t2f_nm decimal(6,4) AVG(SECOND(a))
|
|
t2f_ps decimal(6,4) AVG(?)
|
|
t2e_nm bigint(3) MIN(EXTRACT(SECOND FROM a))
|
|
t2e_ps bigint(3) MIN(?)
|
|
t2f_nm bigint(3) MIN(SECOND(a))
|
|
t2f_ps bigint(3) MIN(?)
|
|
t2e_nm bigint(3) MAX(EXTRACT(SECOND FROM a))
|
|
t2e_ps bigint(3) MAX(?)
|
|
t2f_nm bigint(3) MAX(SECOND(a))
|
|
t2f_ps bigint(3) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(SECOND FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(SECOND(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# EXTRACT(MICROSECONDS FROM expr) includes the sign for TIME
|
|
# MICROSECONDS(expr) returns the absolute value
|
|
CALL p1('MICROSECOND');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1e_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2e_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999'), EXTRACT(MICROSECOND FROM TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999'), MICROSECOND(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1e_nm int(7) EXTRACT(MICROSECOND FROM a)
|
|
t1e_ps int(7) ?
|
|
t1f_nm int(7) MICROSECOND(a)
|
|
t1f_ps int(7) ?
|
|
t1e_nm bigint(20) unsigned CAST(EXTRACT(MICROSECOND FROM a) AS UNSIGNED)
|
|
t1e_ps bigint(20) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(6) unsigned CAST(MICROSECOND(a) AS UNSIGNED)
|
|
t1f_ps int(6) unsigned CAST(? AS UNSIGNED)
|
|
t1e_nm int(7) CAST(EXTRACT(MICROSECOND FROM a) AS SIGNED)
|
|
t1e_ps int(7) CAST(? AS SIGNED)
|
|
t1f_nm int(7) CAST(MICROSECOND(a) AS SIGNED)
|
|
t1f_ps int(7) CAST(? AS SIGNED)
|
|
t1e_nm int(7) ABS(EXTRACT(MICROSECOND FROM a))
|
|
t1e_ps int(7) ABS(?)
|
|
t1f_nm int(7) ABS(MICROSECOND(a))
|
|
t1f_ps int(7) ABS(?)
|
|
t1e_nm int(7) ROUND(EXTRACT(MICROSECOND FROM a))
|
|
t1e_ps int(7) ROUND(?)
|
|
t1f_nm int(7) ROUND(MICROSECOND(a))
|
|
t1f_ps int(7) ROUND(?)
|
|
t1e_nm int(8) -EXTRACT(MICROSECOND FROM a)
|
|
t1e_ps int(8) -?
|
|
t1f_nm int(7) -MICROSECOND(a)
|
|
t1f_ps int(7) -?
|
|
t1e_nm int(8) ROUND(EXTRACT(MICROSECOND FROM a),-1)
|
|
t1e_ps int(8) ROUND(?,-1)
|
|
t1f_nm int(8) ROUND(MICROSECOND(a),-1)
|
|
t1f_ps int(8) ROUND(?,-1)
|
|
t1e_nm int(8) EXTRACT(MICROSECOND FROM a)+0
|
|
t1e_ps int(8) ?+0
|
|
t1f_nm int(8) MICROSECOND(a)+0
|
|
t1f_ps int(8) ?+0
|
|
t1e_nm decimal(8,1) EXTRACT(MICROSECOND FROM a)+0.0
|
|
t1e_ps decimal(8,1) ?+0.0
|
|
t1f_nm decimal(8,1) MICROSECOND(a)+0.0
|
|
t1f_ps decimal(8,1) ?+0.0
|
|
t1e_nm varchar(7) CONCAT(EXTRACT(MICROSECOND FROM a))
|
|
t1e_ps varchar(7) CONCAT(?)
|
|
t1f_nm varchar(6) CONCAT(MICROSECOND(a))
|
|
t1f_ps varchar(6) CONCAT(?)
|
|
t1e_nm int(7) LEAST(EXTRACT(MICROSECOND FROM a),EXTRACT(MICROSECOND FROM a))
|
|
t1e_ps int(7) LEAST(?,?)
|
|
t1f_nm int(7) LEAST(MICROSECOND(a),MICROSECOND(a))
|
|
t1f_ps int(7) LEAST(?,?)
|
|
t1e_nm int(7) COALESCE(EXTRACT(MICROSECOND FROM a))
|
|
t1e_ps int(7) COALESCE(?)
|
|
t1f_nm int(7) COALESCE(MICROSECOND(a))
|
|
t1f_ps int(7) COALESCE(?)
|
|
t1e_nm int(7) COALESCE(EXTRACT(MICROSECOND FROM a),CAST(1 AS SIGNED))
|
|
t1e_ps int(7) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm int(7) COALESCE(MICROSECOND(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(7) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1e_nm decimal(6,0) COALESCE(EXTRACT(MICROSECOND FROM a),CAST(1 AS UNSIGNED))
|
|
t1e_ps decimal(6,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm decimal(6,0) COALESCE(MICROSECOND(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(6,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1e_nm int(7) @a:=EXTRACT(MICROSECOND FROM a)
|
|
t1e_ps int(7) @a:=?
|
|
t1f_nm int(7) @a:=MICROSECOND(a)
|
|
t1f_ps int(7) @a:=?
|
|
t2e_nm decimal(10,4) AVG(EXTRACT(MICROSECOND FROM a))
|
|
t2e_ps decimal(10,4) AVG(?)
|
|
t2f_nm decimal(10,4) AVG(MICROSECOND(a))
|
|
t2f_ps decimal(10,4) AVG(?)
|
|
t2e_nm bigint(7) MIN(EXTRACT(MICROSECOND FROM a))
|
|
t2e_ps bigint(7) MIN(?)
|
|
t2f_nm bigint(7) MIN(MICROSECOND(a))
|
|
t2f_ps bigint(7) MIN(?)
|
|
t2e_nm bigint(7) MAX(EXTRACT(MICROSECOND FROM a))
|
|
t2e_ps bigint(7) MAX(?)
|
|
t2f_nm bigint(7) MAX(MICROSECOND(a))
|
|
t2f_ps bigint(7) MAX(?)
|
|
t2e_nm mediumtext GROUP_CONCAT(EXTRACT(MICROSECOND FROM a))
|
|
t2e_ps mediumtext GROUP_CONCAT(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(MICROSECOND(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
|
|
|
|
# DAYOFYEAR
|
|
CALL p1('DAYOFYEAR');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t1f_ps AS SELECT ?, CAST(? AS UNSIGNED), CAST(? AS SIGNED), ABS(?), ROUND(?), -?, ROUND(?,-1), ?+0, ?+0.0, CONCAT(?), LEAST(?,?), COALESCE(?), COALESCE(?,CAST(1 AS SIGNED)), COALESCE(?,CAST(1 AS UNSIGNED)), @a:=?' USING DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
EXECUTE IMMEDIATE 'CREATE TABLE t2f_ps AS SELECT AVG(?), MIN(?), MAX(?), GROUP_CONCAT(?)' USING DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999'), DAYOFYEAR(TIMESTAMP'2001-12-13 10:20:30.999999');
|
|
CALL show_drop;
|
|
TABLE_NAME COLUMN_TYPE COLUMN_NAME
|
|
t1f_nm int(4) DAYOFYEAR(a)
|
|
t1f_ps int(4) ?
|
|
t1f_nm int(3) unsigned CAST(DAYOFYEAR(a) AS UNSIGNED)
|
|
t1f_ps int(3) unsigned CAST(? AS UNSIGNED)
|
|
t1f_nm int(4) CAST(DAYOFYEAR(a) AS SIGNED)
|
|
t1f_ps int(4) CAST(? AS SIGNED)
|
|
t1f_nm int(4) ABS(DAYOFYEAR(a))
|
|
t1f_ps int(4) ABS(?)
|
|
t1f_nm int(4) ROUND(DAYOFYEAR(a))
|
|
t1f_ps int(4) ROUND(?)
|
|
t1f_nm int(4) -DAYOFYEAR(a)
|
|
t1f_ps int(4) -?
|
|
t1f_nm int(5) ROUND(DAYOFYEAR(a),-1)
|
|
t1f_ps int(5) ROUND(?,-1)
|
|
t1f_nm int(5) DAYOFYEAR(a)+0
|
|
t1f_ps int(5) ?+0
|
|
t1f_nm decimal(5,1) DAYOFYEAR(a)+0.0
|
|
t1f_ps decimal(5,1) ?+0.0
|
|
t1f_nm varchar(3) CONCAT(DAYOFYEAR(a))
|
|
t1f_ps varchar(3) CONCAT(?)
|
|
t1f_nm int(4) LEAST(DAYOFYEAR(a),DAYOFYEAR(a))
|
|
t1f_ps int(4) LEAST(?,?)
|
|
t1f_nm int(4) COALESCE(DAYOFYEAR(a))
|
|
t1f_ps int(4) COALESCE(?)
|
|
t1f_nm int(4) COALESCE(DAYOFYEAR(a),CAST(1 AS SIGNED))
|
|
t1f_ps int(4) COALESCE(?,CAST(1 AS SIGNED))
|
|
t1f_nm decimal(3,0) COALESCE(DAYOFYEAR(a),CAST(1 AS UNSIGNED))
|
|
t1f_ps decimal(3,0) COALESCE(?,CAST(1 AS UNSIGNED))
|
|
t1f_nm int(4) @a:=DAYOFYEAR(a)
|
|
t1f_ps int(4) @a:=?
|
|
t2f_nm decimal(7,4) AVG(DAYOFYEAR(a))
|
|
t2f_ps decimal(7,4) AVG(?)
|
|
t2f_nm bigint(4) MIN(DAYOFYEAR(a))
|
|
t2f_ps bigint(4) MIN(?)
|
|
t2f_nm bigint(4) MAX(DAYOFYEAR(a))
|
|
t2f_ps bigint(4) MAX(?)
|
|
t2f_nm mediumtext GROUP_CONCAT(DAYOFYEAR(a))
|
|
t2f_ps mediumtext GROUP_CONCAT(?)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
DROP PROCEDURE show_drop;
|
|
DROP FUNCTION params;
|
|
DROP FUNCTION select01;
|
|
DROP FUNCTION select02;
|
|
#
|
|
# MDEV-32891 Assertion `value <= ((ulonglong) 0xFFFFFFFFL) * 10000ULL' failed in str_to_DDhhmmssff_internal
|
|
#
|
|
SELECT EXTRACT(HOUR_MICROSECOND FROM '42949672955000x1');
|
|
EXTRACT(HOUR_MICROSECOND FROM '42949672955000x1')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect interval value: '42949672955000x1'
|
|
#
|
|
# MDEV-23687 Assertion `is_valid_value_slow()' failed in Datetime::Datetime upon EXTRACT under mode ZERO_DATE_TIME_CAST
|
|
#
|
|
SET SESSION old_mode='ZERO_DATE_TIME_CAST';
|
|
SELECT CAST('100000:00:00' AS DATETIME);
|
|
CAST('100000:00:00' AS DATETIME)
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '100000:00:00'
|
|
SELECT EXTRACT(DAY FROM CAST('100000:00:00' AS DATETIME));
|
|
EXTRACT(DAY FROM CAST('100000:00:00' AS DATETIME))
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '100000:00:00'
|
|
SELECT CAST('100000:00:00' AS DATE);
|
|
CAST('100000:00:00' AS DATE)
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '100000:00:00'
|
|
SELECT EXTRACT(DAY FROM CAST('100000:00:00' AS DATE));
|
|
EXTRACT(DAY FROM CAST('100000:00:00' AS DATE))
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '100000:00:00'
|
|
SET SESSION old_mode=DEFAULT;
|
|
#
|
|
# MDEV-35489 Assertion `!ldate->neg' or unexpected result upon extracting unit from invalid value
|
|
#
|
|
SELECT EXTRACT(DAY FROM TIMESTAMP(-177498480000));
|
|
EXTRACT(DAY FROM TIMESTAMP(-177498480000))
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '-177498480000'
|
|
SELECT EXTRACT(DAY FROM TIMESTAMP(-177498480001));
|
|
EXTRACT(DAY FROM TIMESTAMP(-177498480001))
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '-177498480001'
|
|
SELECT EXTRACT(DAY FROM TIMESTAMP(-200000000000));
|
|
EXTRACT(DAY FROM TIMESTAMP(-200000000000))
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '-200000000000'
|
|
SELECT EXTRACT(DAY FROM TIMESTAMP(-221938034527));
|
|
EXTRACT(DAY FROM TIMESTAMP(-221938034527))
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '-221938034527'
|
|
#
|
|
# End of 10.5 tests
|
|
#
|