📄 func_time.result
字号:
2003-02-02select date_add(date,INTERVAL 1 YEAR) from t1;date_add(date,INTERVAL 1 YEAR)2004-01-02select date_add(date,INTERVAL "1:1" MINUTE_SECOND) from t1;date_add(date,INTERVAL "1:1" MINUTE_SECOND)2003-01-02 00:01:01select date_add(date,INTERVAL "1:1" HOUR_MINUTE) from t1;date_add(date,INTERVAL "1:1" HOUR_MINUTE)2003-01-02 01:01:00select date_add(date,INTERVAL "1:1" DAY_HOUR) from t1;date_add(date,INTERVAL "1:1" DAY_HOUR)2003-01-03 01:00:00select date_add(date,INTERVAL "1 1" YEAR_MONTH) from t1;date_add(date,INTERVAL "1 1" YEAR_MONTH)2004-02-02select date_add(date,INTERVAL "1:1:1" HOUR_SECOND) from t1;date_add(date,INTERVAL "1:1:1" HOUR_SECOND)2003-01-02 01:01:01select date_add(date,INTERVAL "1 1:1" DAY_MINUTE) from t1;date_add(date,INTERVAL "1 1:1" DAY_MINUTE)2003-01-03 01:01:00select date_add(date,INTERVAL "1 1:1:1" DAY_SECOND) from t1;date_add(date,INTERVAL "1 1:1:1" DAY_SECOND)2003-01-03 01:01:01select date_add(date,INTERVAL "1" WEEK) from t1;date_add(date,INTERVAL "1" WEEK)2003-01-09 00:00:00select date_add(date,INTERVAL "1" QUARTER) from t1;date_add(date,INTERVAL "1" QUARTER)2003-04-02select timestampadd(MINUTE, 1, date) from t1;timestampadd(MINUTE, 1, date)2003-01-02 00:01:00select timestampadd(WEEK, 1, date) from t1;timestampadd(WEEK, 1, date)2003-01-09 00:00:00select timestampadd(SQL_TSI_SECOND, 1, date) from t1;timestampadd(SQL_TSI_SECOND, 1, date)2003-01-02 00:00:01select timestampadd(SQL_TSI_FRAC_SECOND, 1, date) from t1;timestampadd(SQL_TSI_FRAC_SECOND, 1, date)2003-01-02 00:00:00.000001select timestampdiff(MONTH, '2001-02-01', '2001-05-01') as a;a3select timestampdiff(YEAR, '2002-05-01', '2001-01-01') as a;a-1select timestampdiff(QUARTER, '2002-05-01', '2001-01-01') as a;a-5select timestampdiff(MONTH, '2000-03-28', '2000-02-29') as a;a0select timestampdiff(MONTH, '1991-03-28', '2000-02-29') as a;a107select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a;a12select timestampdiff(SQL_TSI_HOUR, '2001-02-01', '2001-05-01') as a;a2136select timestampdiff(SQL_TSI_DAY, '2001-02-01', '2001-05-01') as a;a89select timestampdiff(SQL_TSI_MINUTE, '2001-02-01 12:59:59', '2001-05-01 12:58:59') as a;a128159select timestampdiff(SQL_TSI_SECOND, '2001-02-01 12:59:59', '2001-05-01 12:58:58') as a;a7689539select timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a;a7689538999999select timestampdiff(SQL_TSI_DAY, '1986-02-01', '1986-03-01') as a1,timestampdiff(SQL_TSI_DAY, '1900-02-01', '1900-03-01') as a2,timestampdiff(SQL_TSI_DAY, '1996-02-01', '1996-03-01') as a3,timestampdiff(SQL_TSI_DAY, '2000-02-01', '2000-03-01') as a4;a1 a2 a3 a428 28 29 29select date_add(time,INTERVAL 1 SECOND) from t1;date_add(time,INTERVAL 1 SECOND)NULLWarnings:Warning 1264 Out of range value adjusted for column 'time' at row 1drop table t1;select last_day('2000-02-05') as f1, last_day('2002-12-31') as f2,last_day('2003-03-32') as f3, last_day('2003-04-01') as f4,last_day('2001-01-01 01:01:01') as f5, last_day(NULL),last_day('2001-02-12');f1 f2 f3 f4 f5 last_day(NULL) last_day('2001-02-12')2000-02-29 2002-12-31 NULL 2003-04-30 2001-01-31 NULL 2001-02-28Warnings:Warning 1292 Truncated incorrect datetime value: '2003-03-32'create table t1 select last_day('2000-02-05') as a,from_days(to_days("960101")) as b;describe t1;Field Type Null Key Default Extraa date NO 0000-00-00 b date YES NULL select * from t1;a b2000-02-29 1996-01-01drop table t1;select last_day('2000-02-05') as a,from_days(to_days("960101")) as b;a b2000-02-29 1996-01-01select date_add(last_day("1997-12-1"), INTERVAL 1 DAY);date_add(last_day("1997-12-1"), INTERVAL 1 DAY)1998-01-01select length(last_day("1997-12-1"));length(last_day("1997-12-1"))10select last_day("1997-12-1")+0;last_day("1997-12-1")+019971231select last_day("1997-12-1")+0.0;last_day("1997-12-1")+0.019971231.0select strcmp(date_sub(localtimestamp(), interval 3 hour), utc_timestamp())=0;strcmp(date_sub(localtimestamp(), interval 3 hour), utc_timestamp())=01select strcmp(date_format(date_sub(localtimestamp(), interval 3 hour),"%T"), utc_time())=0;strcmp(date_format(date_sub(localtimestamp(), interval 3 hour),"%T"), utc_time())=01select strcmp(date_format(date_sub(localtimestamp(), interval 3 hour),"%Y-%m-%d"), utc_date())=0;strcmp(date_format(date_sub(localtimestamp(), interval 3 hour),"%Y-%m-%d"), utc_date())=01select strcmp(date_format(utc_timestamp(),"%T"), utc_time())=0;strcmp(date_format(utc_timestamp(),"%T"), utc_time())=01select strcmp(date_format(utc_timestamp(),"%Y-%m-%d"), utc_date())=0;strcmp(date_format(utc_timestamp(),"%Y-%m-%d"), utc_date())=01select strcmp(concat(utc_date(),' ',utc_time()),utc_timestamp())=0;strcmp(concat(utc_date(),' ',utc_time()),utc_timestamp())=01explain extended select period_add("9602",-12),period_diff(199505,"9404"),from_days(to_days("960101")),dayofmonth("1997-01-02"), month("1997-01-02"), monthname("1972-03-04"),dayofyear("0000-00-00"),HOUR("1997-03-03 23:03:22"),MINUTE("23:03:22"),SECOND(230322),QUARTER(980303),WEEK("1998-03-03"),yearweek("2000-01-01",1),week(19950101,1),year("98-02-03"),weekday(curdate())-weekday(now()),dayname("1962-03-03"),unix_timestamp(),sec_to_time(time_to_sec("0:30:47")/6.21),curtime(),utc_time(),curdate(),utc_date(),utc_timestamp(),date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w"),from_unixtime(unix_timestamp("1994-03-02 10:11:12")),"1997-12-31 23:59:59" + INTERVAL 1 SECOND,"1998-01-01 00:00:00" - INTERVAL 1 SECOND,INTERVAL 1 DAY + "1997-12-31", extract(YEAR FROM "1999-01-02 10:11:12"),date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND);id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables usedWarnings:Note 1003 select sql_no_cache period_add(_latin1'9602',-(12)) AS `period_add("9602",-12)`,period_diff(199505,_latin1'9404') AS `period_diff(199505,"9404")`,from_days(to_days(_latin1'960101')) AS `from_days(to_days("960101"))`,dayofmonth(_latin1'1997-01-02') AS `dayofmonth("1997-01-02")`,month(_latin1'1997-01-02') AS `month("1997-01-02")`,monthname(_latin1'1972-03-04') AS `monthname("1972-03-04")`,dayofyear(_latin1'0000-00-00') AS `dayofyear("0000-00-00")`,hour(_latin1'1997-03-03 23:03:22') AS `HOUR("1997-03-03 23:03:22")`,minute(_latin1'23:03:22') AS `MINUTE("23:03:22")`,second(230322) AS `SECOND(230322)`,quarter(980303) AS `QUARTER(980303)`,week(_latin1'1998-03-03',0) AS `WEEK("1998-03-03")`,yearweek(_latin1'2000-01-01',1) AS `yearweek("2000-01-01",1)`,week(19950101,1) AS `week(19950101,1)`,year(_latin1'98-02-03') AS `year("98-02-03")`,(weekday(curdate()) - weekday(now())) AS `weekday(curdate())-weekday(now())`,dayname(_latin1'1962-03-03') AS `dayname("1962-03-03")`,unix_timestamp() AS `unix_timestamp()`,sec_to_time((time_to_sec(_latin1'0:30:47') / 6.21)) AS `sec_to_time(time_to_sec("0:30:47")/6.21)`,curtime() AS `curtime()`,utc_time() AS `utc_time()`,curdate() AS `curdate()`,utc_date() AS `utc_date()`,utc_timestamp() AS `utc_timestamp()`,date_format(_latin1'1997-01-02 03:04:05',_latin1'%M %W %D %Y %y %m %d %h %i %s %w') AS `date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w")`,from_unixtime(unix_timestamp(_latin1'1994-03-02 10:11:12')) AS `from_unixtime(unix_timestamp("1994-03-02 10:11:12"))`,(_latin1'1997-12-31 23:59:59' + interval 1 second) AS `"1997-12-31 23:59:59" + INTERVAL 1 SECOND`,(_latin1'1998-01-01 00:00:00' - interval 1 second) AS `"1998-01-01 00:00:00" - INTERVAL 1 SECOND`,(_latin1'1997-12-31' + interval 1 day) AS `INTERVAL 1 DAY + "1997-12-31"`,extract(year from _latin1'1999-01-02 10:11:12') AS `extract(YEAR FROM "1999-01-02 10:11:12")`,(_latin1'1997-12-31 23:59:59' + interval 1 second) AS `date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND)`SET @TMP=NOW();CREATE TABLE t1 (d DATETIME);INSERT INTO t1 VALUES (NOW());INSERT INTO t1 VALUES (NOW());INSERT INTO t1 VALUES (NOW());SELECT count(*) FROM t1 WHERE d>FROM_DAYS(TO_DAYS(@TMP)) AND d<=FROM_DAYS(TO_DAYS(@TMP)+1);count(*)3DROP TABLE t1;explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2;id select_type table type possible_keys key key_len ref rows Extra1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables usedWarnings:Note 1003 select timestampdiff(WEEK,_latin1'2001-02-01',_latin1'2001-05-01') AS `a1`,timestampdiff(SECOND_FRAC,_latin1'2001-02-01 12:59:59.120000',_latin1'2001-05-01 12:58:58.119999') AS `a2`select last_day('2005-00-00');last_day('2005-00-00')NULLWarnings:Warning 1292 Truncated incorrect datetime value: '2005-00-00'select last_day('2005-00-01');last_day('2005-00-01')NULLWarnings:Warning 1292 Truncated incorrect datetime value: '2005-00-01'select last_day('2005-01-00');last_day('2005-01-00')NULLWarnings:Warning 1292 Truncated incorrect datetime value: '2005-01-00'select time_format('100:00:00', '%H %k %h %I %l');time_format('100:00:00', '%H %k %h %I %l')100 100 04 04 4create table t1 (a timestamp default '2005-05-05 01:01:01',b timestamp default '2005-05-05 01:01:01');create function t_slow_sysdate() returns timestampbegindo sleep(2);return sysdate();end;//insert into t1 set a = sysdate(), b = t_slow_sysdate();//create trigger t_before before insert on t1for each row beginset new.b = t_slow_sysdate();end//insert into t1 set a = sysdate();select a != b from t1;a != b11drop trigger t_before;drop function t_slow_sysdate;drop table t1;create table t1 (a datetime, i int, b datetime);insert into t1 select sysdate(), sleep(1), sysdate() from dual;select a != b from t1;a != b1drop table t1;create procedure t_sysdate()beginselect sysdate() into @a;do sleep(2);select sysdate() into @b;select @a != @b;end;//call t_sysdate();@a != @b1drop procedure t_sysdate;select timestampdiff(month,'2004-09-11','2004-09-11');timestampdiff(month,'2004-09-11','2004-09-11')0select timestampdiff(month,'2004-09-11','2005-09-11');timestampdiff(month,'2004-09-11','2005-09-11')12select timestampdiff(month,'2004-09-11','2006-09-11');timestampdiff(month,'2004-09-11','2006-09-11')24select timestampdiff(month,'2004-09-11','2007-09-11');timestampdiff(month,'2004-09-11','2007-09-11')36select timestampdiff(month,'2005-09-11','2004-09-11');timestampdiff(month,'2005-09-11','2004-09-11')-12select timestampdiff(month,'2005-09-11','2003-09-11');timestampdiff(month,'2005-09-11','2003-09-11')-24select timestampdiff(month,'2004-02-28','2005-02-28');timestampdiff(month,'2004-02-28','2005-02-28')12select timestampdiff(month,'2004-02-29','2005-02-28');timestampdiff(month,'2004-02-29','2005-02-28')11select timestampdiff(month,'2004-02-28','2005-02-28');timestampdiff(month,'2004-02-28','2005-02-28')12select timestampdiff(month,'2004-03-29','2005-03-28');timestampdiff(month,'2004-03-29','2005-03-28')11select timestampdiff(month,'2003-02-28','2004-02-29');timestampdiff(month,'2003-02-28','2004-02-29')12select timestampdiff(month,'2003-02-28','2005-02-28');timestampdiff(month,'2003-02-28','2005-02-28')24select timestampdiff(month,'1999-09-11','2001-10-10');timestampdiff(month,'1999-09-11','2001-10-10')24select timestampdiff(month,'1999-09-11','2001-9-11');timestampdiff(month,'1999-09-11','2001-9-11')24select timestampdiff(year,'1999-09-11','2001-9-11');timestampdiff(year,'1999-09-11','2001-9-11')2select timestampdiff(year,'2004-02-28','2005-02-28');timestampdiff(year,'2004-02-28','2005-02-28')1select timestampdiff(year,'2004-02-29','2005-02-28');timestampdiff(year,'2004-02-29','2005-02-28')0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -