mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-04-20 09:07:44 +03:00
90 lines
4.5 KiB
Plaintext
90 lines
4.5 KiB
Plaintext
#
|
|
# Test Date Functions
|
|
# Author: Bharath, bharath.bokka@mariadb.com
|
|
#
|
|
-- source ../include/have_columnstore.inc
|
|
|
|
--disable_warnings
|
|
DROP DATABASE IF EXISTS mcs92_db;
|
|
--enable_warnings
|
|
|
|
CREATE DATABASE mcs92_db;
|
|
USE mcs92_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('0000-00-00', '00:00:00', '0000-00-00');
|
|
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 t1_d, t1_t, t1_dt, DATEDIFF(t1_dt, t1_d) FROM t1;
|
|
SELECT t1_d, t1_t, t1_dt, DATEDIFF(t1_dt, t1_d) "Datediff in days" FROM t1 WHERE t1_dt > 0;
|
|
SELECT t1_d, t1_t, t1_dt, DAY(t1_dt), DAY(t1_d) FROM t1;
|
|
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL 1 SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL -1 SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL 1 DAY) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL -1 DAY) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL 1 MONTH) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL -1 MONTH) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL 0 MONTH) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '2:1' MINUTE_SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '-2:1' MINUTE_SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '2:-1' MINUTE_SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '-2:-1' MINUTE_SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '-1 2' DAY_HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '1 2' DAY_HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '-1 -2' DAY_HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '1 -2' DAY_HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '1.9' SECOND_MICROSECOND) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL '-1.9' SECOND_MICROSECOND) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL 12 HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_ADD(t1_dt, INTERVAL -1 HOUR) FROM t1;
|
|
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL 1 SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL -1 SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL 1 DAY) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL -1 DAY) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL 1 MONTH) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL -1 MONTH) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL 0 MONTH) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '2:1' MINUTE_SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '-2:1' MINUTE_SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '2:-1' MINUTE_SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '-2:-1' MINUTE_SECOND) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '-1 2' DAY_HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '1 2' DAY_HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '-1 -2' DAY_HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '1 -2' DAY_HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '1.9' SECOND_MICROSECOND) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL '-1.9' SECOND_MICROSECOND) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL 12 HOUR) FROM t1;
|
|
SELECT t1_dt, DATE_SUB(t1_dt, INTERVAL -1 HOUR) FROM t1;
|
|
|
|
SELECT t1_dt, DATE_FORMAT(t1_dt, '%Y-%m-%d') a, DATE_FORMAT(t1_d, '%a %D %b %Y') b, DATE_FORMAT(t1_d, '%W %D %M %Y') c FROM t1;
|
|
SELECT t1_dt, DATE_FORMAT(t1_dt, '%Y/%m/%d %T') a, DATE_FORMAT(t1_dt, '%a %D %b %Y %H:%i') b, DATE_FORMAT(t1_dt, '%W %D %M %Y %T') c FROM t1;
|
|
|
|
SELECT @@lc_time_names;
|
|
SELECT t1_dt, DAYNAME(t1_dt), DAYOFWEEK(t1_dt), WEEKDAY(t1_dt) FROM t1;
|
|
SELECT t1_d, DAYNAME(t1_d), DAYOFWEEK(t1_d), WEEKDAY(t1_d) FROM t1;
|
|
|
|
SELECT t1_dt, EXTRACT(SECOND FROM t1_dt) 'SECOND', EXTRACT(DAY_HOUR FROM t1_dt) 'DAY_HOUR', EXTRACT(HOUR FROM t1_dt) 'HOUR', EXTRACT(MINUTE FROM t1_dt) 'MINUTE' FROM t1;
|
|
SELECT t1_dt, EXTRACT(DAY FROM t1_dt) 'DAY', EXTRACT(YEAR FROM t1_dt) 'YEAR', EXTRACT(MONTH FROM t1_dt) 'MONTH', EXTRACT(WEEK FROM t1_dt) 'WEEK' FROM t1;
|
|
|
|
SELECT t1_dt, MONTH(t1_dt) FROM t1;
|
|
SELECT t1_dt, t1_t, TIMEDIFF(t1_dt, t1_t) FROM t1;
|
|
SELECT t1_dt, TIMEDIFF(t1_dt, '5555-11-11 12:58:11') FROM t1;
|
|
SELECT t1_t, TIMEDIFF('12:58:11', t1_t) FROM t1;
|
|
|
|
SELECT t1_d, t1_dt, TIMESTAMPDIFF(MONTH, t1_d, t1_dt) FROM t1;
|
|
SELECT t1_d, t1_dt, TIMESTAMPDIFF(DAY, t1_d, t1_dt) FROM t1;
|
|
SELECT t1_d, t1_dt, TIMESTAMPDIFF(MINUTE, t1_d, t1_dt) FROM t1;
|
|
SELECT t1_d, t1_dt, TIMESTAMPDIFF(SECOND, t1_d, t1_dt) FROM t1;
|
|
|
|
SELECT t1_d, WEEK(t1_d), t1_dt, WEEK(t1_dt) FROM t1;
|
|
SELECT t1_d, YEAR(t1_d), t1_dt, YEAR(t1_dt) FROM t1;
|
|
|
|
# Clean UP
|
|
DROP DATABASE mcs92_db;
|