mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-04-20 09:07:44 +03:00
259 lines
9.7 KiB
Plaintext
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;
|