1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-18 21:44:02 +03:00
mariadb-columnstore-engine/mysql-test/columnstore/basic/r/mcs264_subdate_function.result

259 lines
9.7 KiB
Plaintext

DROP DATABASE IF EXISTS mcs264_db;
CREATE DATABASE mcs264_db;
USE mcs264_db;
CREATE TABLE t1(t1_d DATE, t1_t TIME, t1_dt DATETIME)ENGINE=Columnstore;
INSERT INTO t1 VALUES(NULL, NULL, NULL);
INSERT INTO t1 VALUES('2222-11-11', '12:12:12', '2020-11-11 12:12:12');
INSERT INTO t1 VALUES('2020-01-01', '11:11:11', '2020-12-31 12:34:56');
INSERT INTO t1 VALUES('2016-02-01', '11:11:11', '2017-02-01 12:12:12');
SELECT SUBDATE('2000-01-01', INTERVAL 1 DAY) FROM t1 LIMIT 1;
SUBDATE('2000-01-01', INTERVAL 1 DAY)
1999-12-31
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 MICROSECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 MICROSECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:59.999995
2020-01-01 2019-12-31 23:59:59.999995
2222-11-11 2222-11-10 23:59:59.999995
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 SECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 SECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:55
2020-01-01 2019-12-31 23:59:55
2222-11-11 2222-11-10 23:59:55
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 MINUTE) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 MINUTE)
NULL NULL
2016-02-01 2016-01-31 23:55:00
2020-01-01 2019-12-31 23:55:00
2222-11-11 2222-11-10 23:55:00
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 HOUR) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 HOUR)
NULL NULL
2016-02-01 2016-01-31 19:00:00
2020-01-01 2019-12-31 19:00:00
2222-11-11 2222-11-10 19:00:00
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 DAY) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 DAY)
NULL NULL
2016-02-01 2016-01-27
2020-01-01 2019-12-27
2222-11-11 2222-11-06
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 WEEK) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 WEEK)
NULL NULL
2016-02-01 2015-12-28
2020-01-01 2019-11-27
2222-11-11 2222-10-07
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 MONTH) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 MONTH)
NULL NULL
2016-02-01 2015-09-01
2020-01-01 2019-08-01
2222-11-11 2222-06-11
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 QUARTER) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 QUARTER)
NULL NULL
2016-02-01 2014-11-01
2020-01-01 2018-10-01
2222-11-11 2221-08-11
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 YEAR) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 YEAR)
NULL NULL
2016-02-01 2011-02-01
2020-01-01 2015-01-01
2222-11-11 2217-11-11
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 SECOND_MICROSECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 SECOND_MICROSECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:59.999995
2020-01-01 2019-12-31 23:59:59.999995
2222-11-11 2222-11-10 23:59:59.999995
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 MINUTE_MICROSECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 MINUTE_MICROSECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:59.999995
2020-01-01 2019-12-31 23:59:59.999995
2222-11-11 2222-11-10 23:59:59.999995
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 MINUTE_SECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 MINUTE_SECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:55
2020-01-01 2019-12-31 23:59:55
2222-11-11 2222-11-10 23:59:55
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 HOUR_MICROSECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 HOUR_MICROSECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:59.999995
2020-01-01 2019-12-31 23:59:59.999995
2222-11-11 2222-11-10 23:59:59.999995
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 HOUR_SECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 HOUR_SECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:55
2020-01-01 2019-12-31 23:59:55
2222-11-11 2222-11-10 23:59:55
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 HOUR_MINUTE) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 HOUR_MINUTE)
NULL NULL
2016-02-01 2016-01-31 23:55:00
2020-01-01 2019-12-31 23:55:00
2222-11-11 2222-11-10 23:55:00
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 DAY_MICROSECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 DAY_MICROSECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:59.999995
2020-01-01 2019-12-31 23:59:59.999995
2222-11-11 2222-11-10 23:59:59.999995
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 DAY_SECOND) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 DAY_SECOND)
NULL NULL
2016-02-01 2016-01-31 23:59:55
2020-01-01 2019-12-31 23:59:55
2222-11-11 2222-11-10 23:59:55
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 DAY_MINUTE) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 DAY_MINUTE)
NULL NULL
2016-02-01 2016-01-31 23:55:00
2020-01-01 2019-12-31 23:55:00
2222-11-11 2222-11-10 23:55:00
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 DAY_HOUR) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 DAY_HOUR)
NULL NULL
2016-02-01 2016-01-31 19:00:00
2020-01-01 2019-12-31 19:00:00
2222-11-11 2222-11-10 19:00:00
SELECT t1_d, SUBDATE(t1_d, INTERVAL 5 YEAR_MONTH) FROM t1 ORDER BY 1;
t1_d SUBDATE(t1_d, INTERVAL 5 YEAR_MONTH)
NULL NULL
2016-02-01 2015-09-01
2020-01-01 2019-08-01
2222-11-11 2222-06-11
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 MICROSECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 MICROSECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:11.999995
2020-11-11 12:12:12 2020-11-11 12:12:11.999995
2020-12-31 12:34:56 2020-12-31 12:34:55.999995
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 SECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 SECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:07
2020-11-11 12:12:12 2020-11-11 12:12:07
2020-12-31 12:34:56 2020-12-31 12:34:51
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 MINUTE) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 MINUTE)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:07:12
2020-11-11 12:12:12 2020-11-11 12:07:12
2020-12-31 12:34:56 2020-12-31 12:29:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 HOUR) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 HOUR)
NULL NULL
2017-02-01 12:12:12 2017-02-01 07:12:12
2020-11-11 12:12:12 2020-11-11 07:12:12
2020-12-31 12:34:56 2020-12-31 07:34:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 DAY) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 DAY)
NULL NULL
2017-02-01 12:12:12 2017-01-27 12:12:12
2020-11-11 12:12:12 2020-11-06 12:12:12
2020-12-31 12:34:56 2020-12-26 12:34:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 WEEK) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 WEEK)
NULL NULL
2017-02-01 12:12:12 2016-12-28 12:12:12
2020-11-11 12:12:12 2020-10-07 12:12:12
2020-12-31 12:34:56 2020-11-26 12:34:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 MONTH) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 MONTH)
NULL NULL
2017-02-01 12:12:12 2016-09-01 12:12:12
2020-11-11 12:12:12 2020-06-11 12:12:12
2020-12-31 12:34:56 2020-07-31 12:34:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 QUARTER) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 QUARTER)
NULL NULL
2017-02-01 12:12:12 2015-11-01 12:12:12
2020-11-11 12:12:12 2019-08-11 12:12:12
2020-12-31 12:34:56 2019-09-30 12:34:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 YEAR) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 YEAR)
NULL NULL
2017-02-01 12:12:12 2012-02-01 12:12:12
2020-11-11 12:12:12 2015-11-11 12:12:12
2020-12-31 12:34:56 2015-12-31 12:34:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 SECOND_MICROSECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 SECOND_MICROSECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:11.999995
2020-11-11 12:12:12 2020-11-11 12:12:11.999995
2020-12-31 12:34:56 2020-12-31 12:34:55.999995
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 MINUTE_MICROSECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 MINUTE_MICROSECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:11.999995
2020-11-11 12:12:12 2020-11-11 12:12:11.999995
2020-12-31 12:34:56 2020-12-31 12:34:55.999995
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 MINUTE_SECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 MINUTE_SECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:07
2020-11-11 12:12:12 2020-11-11 12:12:07
2020-12-31 12:34:56 2020-12-31 12:34:51
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 HOUR_MICROSECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 HOUR_MICROSECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:11.999995
2020-11-11 12:12:12 2020-11-11 12:12:11.999995
2020-12-31 12:34:56 2020-12-31 12:34:55.999995
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 HOUR_SECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 HOUR_SECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:07
2020-11-11 12:12:12 2020-11-11 12:12:07
2020-12-31 12:34:56 2020-12-31 12:34:51
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 HOUR_MINUTE) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 HOUR_MINUTE)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:07:12
2020-11-11 12:12:12 2020-11-11 12:07:12
2020-12-31 12:34:56 2020-12-31 12:29:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 DAY_MICROSECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 DAY_MICROSECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:11.999995
2020-11-11 12:12:12 2020-11-11 12:12:11.999995
2020-12-31 12:34:56 2020-12-31 12:34:55.999995
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 DAY_SECOND) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 DAY_SECOND)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:12:07
2020-11-11 12:12:12 2020-11-11 12:12:07
2020-12-31 12:34:56 2020-12-31 12:34:51
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 DAY_MINUTE) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 DAY_MINUTE)
NULL NULL
2017-02-01 12:12:12 2017-02-01 12:07:12
2020-11-11 12:12:12 2020-11-11 12:07:12
2020-12-31 12:34:56 2020-12-31 12:29:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 DAY_HOUR) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 DAY_HOUR)
NULL NULL
2017-02-01 12:12:12 2017-02-01 07:12:12
2020-11-11 12:12:12 2020-11-11 07:12:12
2020-12-31 12:34:56 2020-12-31 07:34:56
SELECT t1_dt, SUBDATE(t1_dt, INTERVAL 5 YEAR_MONTH) FROM t1 ORDER BY 1;
t1_dt SUBDATE(t1_dt, INTERVAL 5 YEAR_MONTH)
NULL NULL
2017-02-01 12:12:12 2016-09-01 12:12:12
2020-11-11 12:12:12 2020-06-11 12:12:12
2020-12-31 12:34:56 2020-07-31 12:34:56
SELECT t1_t, SUBDATE(t1_t, INTERVAL 5 MICROSECOND) FROM t1 ORDER BY 1;
t1_t SUBDATE(t1_t, INTERVAL 5 MICROSECOND)
NULL NULL
11:11:11 NULL
11:11:11 NULL
12:12:12 NULL
DROP DATABASE mcs264_db;