mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
216fbe2af3
MDEV-6101 Hybrid functions do not add CURRENT_DATE when converting TIME to DATETIME
103 lines
3 KiB
Text
103 lines
3 KiB
Text
drop table if exists t1,t2;
|
|
create table t1 (a int, b varchar(200), c text not null) checksum=1;
|
|
create table t2 (a int, b varchar(200), c text not null) checksum=0;
|
|
insert t1 values (1, "aaa", "bbb"), (NULL, "", "ccccc"), (0, NULL, "");
|
|
insert t2 select * from t1;
|
|
checksum table t1, t2;
|
|
Table Checksum
|
|
test.t1 2948697075
|
|
test.t2 2948697075
|
|
checksum table t1, t2 quick;
|
|
Table Checksum
|
|
test.t1 NULL
|
|
test.t2 NULL
|
|
checksum table t1, t2 extended;
|
|
Table Checksum
|
|
test.t1 2948697075
|
|
test.t2 2948697075
|
|
drop table t1,t2;
|
|
SHOW PROCESSLIST;
|
|
Id User Host db Command Time State Info
|
|
<Id> root <Host> test Query <Time> <State> SHOW PROCESSLIST
|
|
#
|
|
# MDEV-5372 Make "CAST(time_expr AS DATETIME)" compatible with the SQL Standard)
|
|
#
|
|
set @@old_mode=zero_date_time_cast;
|
|
SELECT CAST(TIME'-10:30:30' AS DATETIME);
|
|
CAST(TIME'-10:30:30' AS DATETIME)
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect datetime value: '-10:30:30'
|
|
SELECT CAST(TIME'10:20:30' AS DATETIME);
|
|
CAST(TIME'10:20:30' AS DATETIME)
|
|
0000-00-00 10:20:30
|
|
SELECT CAST(TIME'830:20:30' AS DATETIME);
|
|
CAST(TIME'830:20:30' AS DATETIME)
|
|
0000-01-03 14:20:30
|
|
CREATE TABLE t1 (a DATETIME);
|
|
INSERT INTO t1 VALUES (TIME'-10:20:30');
|
|
Warnings:
|
|
Warning 1265 Data truncated for column 'a' at row 1
|
|
INSERT INTO t1 VALUES (TIME'10:20:30');
|
|
INSERT INTO t1 VALUES (TIME'830:20:30');
|
|
SELECT * FROM t1;
|
|
a
|
|
0000-00-00 00:00:00
|
|
0000-00-00 10:20:30
|
|
0000-01-03 14:20:30
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a TIMESTAMP);
|
|
INSERT INTO t1 VALUES (TIME'-10:20:30');
|
|
Warnings:
|
|
Warning 1265 Data truncated for column 'a' at row 1
|
|
INSERT INTO t1 VALUES (TIME'10:20:30');
|
|
Warnings:
|
|
Warning 1265 Data truncated for column 'a' at row 1
|
|
INSERT INTO t1 VALUES (TIME'830:20:30');
|
|
Warnings:
|
|
Warning 1264 Out of range value for column 'a' at row 1
|
|
SELECT * FROM t1;
|
|
a
|
|
0000-00-00 00:00:00
|
|
0000-00-00 00:00:00
|
|
0000-00-00 00:00:00
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a TIME);
|
|
INSERT INTO t1 VALUES (TIME'-10:20:30');
|
|
INSERT INTO t1 VALUES (TIME'10:20:30');
|
|
INSERT INTO t1 VALUES (TIME'830:20:30');
|
|
SELECT a, CAST(a AS DATETIME), TO_DAYS(a) FROM t1;
|
|
a CAST(a AS DATETIME) TO_DAYS(a)
|
|
-10:20:30 NULL NULL
|
|
10:20:30 0000-00-00 10:20:30 NULL
|
|
830:20:30 0000-01-03 14:20:30 NULL
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect datetime value: '-10:20:30'
|
|
Warning 1264 Out of range value for column 'a' at row 1
|
|
Warning 1264 Out of range value for column 'a' at row 2
|
|
Warning 1264 Out of range value for column 'a' at row 3
|
|
DROP TABLE t1;
|
|
SELECT TO_DAYS(TIME'-10:20:30');
|
|
TO_DAYS(TIME'-10:20:30')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect datetime value: '-10:20:30'
|
|
SELECT TO_DAYS(TIME'10:20:30');
|
|
TO_DAYS(TIME'10:20:30')
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect datetime value: '10:20:30'
|
|
SELECT TO_DAYS(TIME'830:20:30');
|
|
TO_DAYS(TIME'830:20:30')
|
|
3
|
|
CREATE TABLE t1 (a DATETIME, b TIME);
|
|
INSERT INTO t1 VALUES (NULL, '00:20:12');
|
|
INSERT INTO t1 VALUES (NULL, '-00:20:12');
|
|
SELECT IF(1,ADDDATE(IFNULL(a,b),0),1) FROM t1;
|
|
IF(1,ADDDATE(IFNULL(a,b),0),1)
|
|
NULL
|
|
NULL
|
|
Warnings:
|
|
Warning 1292 Incorrect datetime value: '0000-00-00 00:20:12'
|
|
Warning 1292 Truncated incorrect datetime value: '-00:20:12'
|
|
DROP TABLE t1;
|