Current Path : /home/usr.opt/mysql57/mysql-test/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/r/func_sapdb.result |
drop table if exists t1, test; select extract(DAY_MICROSECOND FROM "1999-01-02 10:11:12.000123"); extract(DAY_MICROSECOND FROM "1999-01-02 10:11:12.000123") 2101112000123 select extract(HOUR_MICROSECOND FROM "1999-01-02 10:11:12.000123"); extract(HOUR_MICROSECOND FROM "1999-01-02 10:11:12.000123") 101112000123 select extract(MINUTE_MICROSECOND FROM "1999-01-02 10:11:12.000123"); extract(MINUTE_MICROSECOND FROM "1999-01-02 10:11:12.000123") 1112000123 select extract(SECOND_MICROSECOND FROM "1999-01-02 10:11:12.000123"); extract(SECOND_MICROSECOND FROM "1999-01-02 10:11:12.000123") 12000123 select extract(MICROSECOND FROM "1999-01-02 10:11:12.000123"); extract(MICROSECOND FROM "1999-01-02 10:11:12.000123") 123 select date_format("1997-12-31 23:59:59.000002", "%f"); date_format("1997-12-31 23:59:59.000002", "%f") 000002 select date_add("1997-12-31 23:59:59.000002",INTERVAL "10000 99:99:99.999999" DAY_MICROSECOND); date_add("1997-12-31 23:59:59.000002",INTERVAL "10000 99:99:99.999999" DAY_MICROSECOND) 2025-05-23 04:40:39.000001 select date_add("1997-12-31 23:59:59.000002",INTERVAL "10000:99:99.999999" HOUR_MICROSECOND); date_add("1997-12-31 23:59:59.000002",INTERVAL "10000:99:99.999999" HOUR_MICROSECOND) 1999-02-21 17:40:39.000001 select date_add("1997-12-31 23:59:59.000002",INTERVAL "10000:99.999999" MINUTE_MICROSECOND); date_add("1997-12-31 23:59:59.000002",INTERVAL "10000:99.999999" MINUTE_MICROSECOND) 1998-01-07 22:41:39.000001 select date_add("1997-12-31 23:59:59.000002",INTERVAL "10000.999999" SECOND_MICROSECOND); date_add("1997-12-31 23:59:59.000002",INTERVAL "10000.999999" SECOND_MICROSECOND) 1998-01-01 02:46:40.000001 select date_add("1997-12-31 23:59:59.000002",INTERVAL "999999" MICROSECOND); date_add("1997-12-31 23:59:59.000002",INTERVAL "999999" MICROSECOND) 1998-01-01 00:00:00.000001 select date_sub("1998-01-01 00:00:00.000001",INTERVAL "1 1:1:1.000002" DAY_MICROSECOND); date_sub("1998-01-01 00:00:00.000001",INTERVAL "1 1:1:1.000002" DAY_MICROSECOND) 1997-12-30 22:58:58.999999 select date_sub("1998-01-01 00:00:00.000001",INTERVAL "1:1:1.000002" HOUR_MICROSECOND); date_sub("1998-01-01 00:00:00.000001",INTERVAL "1:1:1.000002" HOUR_MICROSECOND) 1997-12-31 22:58:58.999999 select date_sub("1998-01-01 00:00:00.000001",INTERVAL "1:1.000002" MINUTE_MICROSECOND); date_sub("1998-01-01 00:00:00.000001",INTERVAL "1:1.000002" MINUTE_MICROSECOND) 1997-12-31 23:58:58.999999 select date_sub("1998-01-01 00:00:00.000001",INTERVAL "1.000002" SECOND_MICROSECOND); date_sub("1998-01-01 00:00:00.000001",INTERVAL "1.000002" SECOND_MICROSECOND) 1997-12-31 23:59:58.999999 select date_sub("1998-01-01 00:00:00.000001",INTERVAL "000002" MICROSECOND); date_sub("1998-01-01 00:00:00.000001",INTERVAL "000002" MICROSECOND) 1997-12-31 23:59:59.999999 select adddate("1997-12-31 23:59:59.000001", 10); adddate("1997-12-31 23:59:59.000001", 10) 1998-01-10 23:59:59.000001 select subdate("1997-12-31 23:59:59.000001", 10); subdate("1997-12-31 23:59:59.000001", 10) 1997-12-21 23:59:59.000001 select datediff("1997-12-31 23:59:59.000001","1997-12-30"); datediff("1997-12-31 23:59:59.000001","1997-12-30") 1 select datediff("1997-11-30 23:59:59.000001","1997-12-31"); datediff("1997-11-30 23:59:59.000001","1997-12-31") -31 SET @@SQL_MODE="ALLOW_INVALID_DATES"; Warnings: Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. select datediff("1997-11-31 23:59:59.000001","1997-12-31"); datediff("1997-11-31 23:59:59.000001","1997-12-31") -30 SET @@SQL_MODE=""; select datediff("1997-11-31 23:59:59.000001","1997-12-31"); datediff("1997-11-31 23:59:59.000001","1997-12-31") NULL Warnings: Warning 1292 Incorrect datetime value: '1997-11-31 23:59:59.000001' select datediff("1997-11-30 23:59:59.000001",null); datediff("1997-11-30 23:59:59.000001",null) NULL select weekofyear("1997-11-30 23:59:59.000001"); weekofyear("1997-11-30 23:59:59.000001") 48 select makedate(03,1); makedate(03,1) 2003-01-01 select makedate('0003',1); makedate('0003',1) 2003-01-01 select makedate(1997,1); makedate(1997,1) 1997-01-01 select makedate(1997,0); makedate(1997,0) NULL select makedate(9999,365); makedate(9999,365) 9999-12-31 select makedate(9999,366); makedate(9999,366) NULL select makedate(100,1); makedate(100,1) 0100-01-01 select addtime("1997-12-31 23:59:59.999999", "1 1:1:1.000002"); addtime("1997-12-31 23:59:59.999999", "1 1:1:1.000002") 1998-01-02 01:01:01.000001 select subtime("1997-12-31 23:59:59.000001", "1 1:1:1.000002"); subtime("1997-12-31 23:59:59.000001", "1 1:1:1.000002") 1997-12-30 22:58:57.999999 select addtime("1997-12-31 23:59:59.999999", "1998-01-01 01:01:01.999999"); addtime("1997-12-31 23:59:59.999999", "1998-01-01 01:01:01.999999") NULL select subtime("1997-12-31 23:59:59.999999", "1998-01-01 01:01:01.999999"); subtime("1997-12-31 23:59:59.999999", "1998-01-01 01:01:01.999999") NULL select subtime("01:00:00.999999", "02:00:00.999998"); subtime("01:00:00.999999", "02:00:00.999998") -00:59:59.999999 select subtime("02:01:01.999999", "01:01:01.999999"); subtime("02:01:01.999999", "01:01:01.999999") 01:00:00 select timediff("1997-01-01 23:59:59.000001","1995-12-31 23:59:59.000002"); timediff("1997-01-01 23:59:59.000001","1995-12-31 23:59:59.000002") 838:59:59.000000 Warnings: Warning 1292 Truncated incorrect time value: '8807:59:59.999999' select timediff("1997-12-31 23:59:59.000001","1997-12-30 01:01:01.000002"); timediff("1997-12-31 23:59:59.000001","1997-12-30 01:01:01.000002") 46:58:57.999999 select timediff("1997-12-30 23:59:59.000001","1997-12-31 23:59:59.000002"); timediff("1997-12-30 23:59:59.000001","1997-12-31 23:59:59.000002") -24:00:00.000001 select timediff("1997-12-31 23:59:59.000001","23:59:59.000001"); timediff("1997-12-31 23:59:59.000001","23:59:59.000001") NULL select timediff("2000:01:01 00:00:00", "2000:01:01 00:00:00.000001"); timediff("2000:01:01 00:00:00", "2000:01:01 00:00:00.000001") -00:00:00.000001 select timediff("2005-01-11 15:48:49.999999", "2005-01-11 15:48:50"); timediff("2005-01-11 15:48:49.999999", "2005-01-11 15:48:50") -00:00:00.000001 select maketime(10,11,12); maketime(10,11,12) 10:11:12 select maketime(25,11,12); maketime(25,11,12) 25:11:12 select maketime(-25,11,12); maketime(-25,11,12) -25:11:12 select timestamp("2001-12-01", "01:01:01.999999"); timestamp("2001-12-01", "01:01:01.999999") 2001-12-01 01:01:01.999999 select timestamp("2001-13-01", "01:01:01.000001"); timestamp("2001-13-01", "01:01:01.000001") NULL Warnings: Warning 1292 Incorrect datetime value: '2001-13-01' select timestamp("2001-12-01", "25:01:01"); timestamp("2001-12-01", "25:01:01") 2001-12-02 01:01:01 select timestamp("2001-12-01 01:01:01.000100"); timestamp("2001-12-01 01:01:01.000100") 2001-12-01 01:01:01.000100 select timestamp("2001-12-01"); timestamp("2001-12-01") 2001-12-01 00:00:00 select day("1997-12-31 23:59:59.000001"); day("1997-12-31 23:59:59.000001") 31 select date("1997-12-31 23:59:59.000001"); date("1997-12-31 23:59:59.000001") 1997-12-31 select date("1997-13-31 23:59:59.000001"); date("1997-13-31 23:59:59.000001") NULL Warnings: Warning 1292 Incorrect datetime value: '1997-13-31 23:59:59.000001' select time("1997-12-31 23:59:59.000001"); time("1997-12-31 23:59:59.000001") 23:59:59.000001 select time("1997-12-31 25:59:59.000001"); time("1997-12-31 25:59:59.000001") NULL Warnings: Warning 1292 Truncated incorrect time value: '1997-12-31 25:59:59.000001' select microsecond("1997-12-31 23:59:59.000001"); microsecond("1997-12-31 23:59:59.000001") 1 create table t1 select makedate(1997,1) as f1, addtime(cast("1997-12-31 23:59:59.000001" as datetime), "1 1:1:1.000002") as f2, addtime(cast("23:59:59.999999" as time) , "1 1:1:1.000002") as f3, timediff("1997-12-31 23:59:59.000001","1997-12-30 01:01:01.000002") as f4, timediff("1997-12-30 23:59:59.000001","1997-12-31 23:59:59.000002") as f5, maketime(10,11,12) as f6, timestamp(cast("2001-12-01" as date), "01:01:01") as f7, date("1997-12-31 23:59:59.000001") as f8, time("1997-12-31 23:59:59.000001") as f9; describe t1; Field Type Null Key Default Extra f1 date YES NULL f2 datetime(6) YES NULL f3 time(6) YES NULL f4 time(6) YES NULL f5 time(6) YES NULL f6 time YES NULL f7 datetime YES NULL f8 date YES NULL f9 time(6) YES NULL select * from t1; f1 f2 f3 f4 f5 f6 f7 f8 f9 1997-01-01 1998-01-02 01:01:00.000002 49:01:01.000002 46:58:57.999999 -24:00:00.000001 10:11:12 2001-12-01 01:01:01 1997-12-31 23:59:59.000001 create table test(t1 datetime, t2 time, t3 time, t4 datetime); insert into test values ('2001-01-01 01:01:01', '01:01:01', null, '2001-02-01 01:01:01'), ('2001-01-01 01:01:01', '-01:01:01', '-23:59:59', "1997-12-31 23:59:59.000001"), ('1997-12-31 23:59:59.000001', '-23:59:59', '-01:01:01', '2001-01-01 01:01:01'), ('2001-01-01 01:01:01', '01:01:01', '-1 01:01:01', null), ('2001-01-01 01:01:01', '-01:01:01', '1 01:01:01', '2001-01-01 01:01:01'), ('2001-01-01 01:01:01', null, '-1 01:01:01', null), (null, null, null, null), ('2001-01-01 01:01:01', '01:01:01', '1 01:01:01', '2001-01-01 01:01:01'); SELECT ADDTIME(t1,t2) As ttt, ADDTIME(t2, t3) As qqq from test; ttt qqq 2001-01-01 02:02:02 NULL 2001-01-01 00:00:00 -25:01:00 1997-12-31 00:00:00 -25:01:00 2001-01-01 02:02:02 -24:00:00 2001-01-01 00:00:00 24:00:00 NULL NULL NULL NULL 2001-01-01 02:02:02 26:02:02 SELECT TIMEDIFF(t1, t4) As ttt, TIMEDIFF(t2, t3) As qqq, TIMEDIFF(t3, t2) As eee, TIMEDIFF(t2, t4) As rrr from test; ttt qqq eee rrr -744:00:00 NULL NULL NULL 838:59:59 22:58:58 -22:58:58 NULL -838:59:59 -22:58:58 22:58:58 NULL NULL 26:02:02 -26:02:02 NULL 00:00:00 -26:02:02 26:02:02 NULL NULL NULL NULL NULL NULL NULL NULL NULL 00:00:00 -24:00:00 24:00:00 NULL Warnings: Warning 1292 Truncated incorrect time value: '26305:01:02' Warning 1292 Truncated incorrect time value: '-26305:01:02' drop table t1, test; select addtime("-01:01:01.01", "-23:59:59.1") as a; a -25:01:00.110000 select microsecond("1997-12-31 23:59:59.01") as a; a 10000 select microsecond(19971231235959.01) as a; a 10000 select date_add("1997-12-31",INTERVAL "10.09" SECOND_MICROSECOND) as a; a 1997-12-31 00:00:10.090000 select str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S.%f"); str_to_date("2003-01-02 10:11:12.0012", "%Y-%m-%d %H:%i:%S.%f") 2003-01-02 10:11:12.001200 select timediff('2008-09-29 20:10:10','2008-09-30 20:10:10'),time('00:00:00'); timediff('2008-09-29 20:10:10','2008-09-30 20:10:10') time('00:00:00') -24:00:00 00:00:00 select timediff('2008-09-29 20:10:10','2008-09-30 20:10:10')>time('00:00:00'); timediff('2008-09-29 20:10:10','2008-09-30 20:10:10')>time('00:00:00') 0 select timediff('2008-09-29 20:10:10','2008-09-30 20:10:10')<time('00:00:00'); timediff('2008-09-29 20:10:10','2008-09-30 20:10:10')<time('00:00:00') 1 SELECT CAST(time('-73:42:12') AS DECIMAL); CAST(time('-73:42:12') AS DECIMAL) -734212 SELECT TIMEDIFF(TIME('17:00:00'),TIME('17:00:00'))=TIME('00:00:00') AS 1Eq, TIMEDIFF(TIME('17:59:00'),TIME('17:00:00'))=TIME('00:00:00') AS 1NEq1, TIMEDIFF(TIME('18:00:00'),TIME('17:00:00'))=TIME('00:00:00') AS 1NEq2, TIMEDIFF(TIME('17:00:00'),TIME('17:00:00'))= '00:00:00' AS 2Eq, TIMEDIFF(TIME('17:59:00'),TIME('17:00:00'))= '00:00:00' AS 2NEq1, TIMEDIFF(TIME('18:00:00'),TIME('17:00:00'))= '00:00:00' AS 2NEq2, TIMEDIFF(TIME('17:00:00'),TIME('17:00:00'))=TIME(0) AS 3Eq, TIMEDIFF(TIME('17:59:00'),TIME('17:00:00'))=TIME(0) AS 3NEq1, TIMEDIFF(TIME('18:00:00'),TIME('17:00:00'))=TIME(0) AS 3NEq2, TIME(0) AS Time0, TIME('00:00:00') AS Time00, '00:00:00' AS Literal0000, TIMEDIFF(TIME('17:59:00'),TIME('17:00:00')), TIMEDIFF(TIME('17:00:00'),TIME('17:59:00')); 1Eq 1NEq1 1NEq2 2Eq 2NEq1 2NEq2 3Eq 3NEq1 3NEq2 Time0 Time00 Literal0000 TIMEDIFF(TIME('17:59:00'),TIME('17:00:00')) TIMEDIFF(TIME('17:00:00'),TIME('17:59:00')) 1 0 0 1 0 0 1 0 0 00:00:00 00:00:00 00:00:00 00:59:00 -00:59:00 SELECT sec_to_time(3020399)=TIME('838:59:59'); sec_to_time(3020399)=TIME('838:59:59') 1 SELECT sec_to_time(-3020399)=TIME('-838:59:59'); sec_to_time(-3020399)=TIME('-838:59:59') 1 SELECT sec_to_time(-3020399)='-838:59:59'; sec_to_time(-3020399)='-838:59:59' 1 SELECT time(sec_to_time(-3020399))=TIME('-838:59:59'); time(sec_to_time(-3020399))=TIME('-838:59:59') 1 SELECT time(sec_to_time(-3020399))=TIME('-838:59:58'); time(sec_to_time(-3020399))=TIME('-838:59:58') 0 SELECT maketime(-1,0,1)='-01:00:01'; maketime(-1,0,1)='-01:00:01' 1 SELECT TIME(maketime(-1,0,1))=CAST('-01:00:01' AS TIME); TIME(maketime(-1,0,1))=CAST('-01:00:01' AS TIME) 1 SELECT maketime(-1,0,1)=CAST('-01:00:01' AS TIME); maketime(-1,0,1)=CAST('-01:00:01' AS TIME) 1 SELECT maketime(1,0,1)=CAST('01:00:01' AS TIME); maketime(1,0,1)=CAST('01:00:01' AS TIME) 1 SELECT maketime(1,0,1)=CAST('01:00:02' AS TIME); maketime(1,0,1)=CAST('01:00:02' AS TIME) 0