第四章节:创建日期和时间的几种方法 在这个关于日期和时间的系列中,我们探索了 MySQL 的五种时态数据类型,以及它的许多面向日期或时间的函数中的一些。...在本文中,我们将介绍在 MySQL 中创建日期和时间的几种方法。 使用 MAKEDATE() 函式 MAKEDATE() 函数,它接受 year 和 dayofyear,并返回生成的日期值。...在这种情况下,你可以通过将 MAKEDATE() 与 DATE_ADD() 组合来创建 DATE。...day 为 1 的 MAKEDATE() 将为返回给定年份的第一天的 DATE,然后你可以使用 DATE_ADD() 添加月份和日期。...虽然这听起来可能需要做很多工作,但实际上非常简单: 总结 在这一部分中,我们介绍了使用 MySQL 的一些专用日期和时间函数在 MySQL 中创建日期和时间的几种方法。
LAST_DAY(date) 返回date所在月份的最后一天的日期 MAKEDATE...10-01'), TIMEDIFF(NOW(),'2021-10-25 22:10:10'),FROM_DAYS(366),TO_DAYS('0000-12-25'), LAST_DAY(NOW()),MAKEDATE...> SELECT MAKEDATE(2020,1); +------------------+ | MAKEDATE(2020,1) | +------------------+ | 2020-01-01...| +------------------+ 1 row in set (0.00 sec) mysql> SELECT MAKEDATE(2020,32); +------------...-------+ | MAKEDATE(2020,32) | +-------------------+ | 2020-02-01 | +-------------------+ 1 row
,second) 13) 例:select makedate(2001,31); – ‘2001-01-31’ 14) select makedate(2001,32); – ‘2001-02-01...结束) 30) select DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE()) DAY) as Fdate 31) 今年时间(起始) 32) select makedate...(year(curdate()),1) as FDate 33) 今年时间(结束) 34) select DATE_SUB(makedate(year(curdate())+1,1) ,INTERVAL...1 day) as Fdate 35) 去年时间(起始) 36) select makedate(year(curdate())-1,1) as Fdate 37) 去年时间(结束) 38...) select DATE_SUB(makedate(year(curdate()),1) ,INTERVAL 1 day) as FDate 39) DATE_FORMAT(date,format)
日期和时间函数 MySQL中内置了大量的日期和时间函数,能够灵活、方便地处理日期和时间数据,本节就简单介绍一下MySQL中内置的日期和时间函数。...-+ | 2019-12-31 | +-----------------+ 1 row in set (0.00 sec) ---- 33 MAKEDATE(year,n)函数 MAKEDATE...使用示例如下: ---- mysql> SELECT MAKEDATE(2020,1); +------------------+ | MAKEDATE(2020,1) | +-------------...-----+ | 2020-01-01 | +------------------+ 1 row in set (0.00 sec) mysql> SELECT MAKEDATE(2020,32...); +-------------------+ | MAKEDATE(2020,32) | +-------------------+ | 2020-02-01 | +---------
最近写个SQL逻辑,涉及到计算各种日期和时间,MySQL提供了很丰富的函数来支持,记录一下,用的时候,有地方可查。...curdate(), date_sub(curdate(), interval 1 month)); 当前quarter的第一天 select concat(date_format(LAST_DAY(MAKEDATE...CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),'%Y-%m-'),'01'); 当前quarter的最后一天 select LAST_DAY(MAKEDATE...)),1) + interval QUARTER(CURDATE())*3-1 month); 前一quarter的第一天 select concat(date_format(LAST_DAY(MAKEDATE...CURDATE()),1) + interval QUARTER(CURDATE())*3-6 month),'%Y-%m-'),'01'); 前一quarter的最后一天 select LAST_DAY(MAKEDATE
一、MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now(): select now(); 结果:2008-08-08 22:20:46 text 获得当前日期...类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值; select sysdate(); 结果:2008-08-08 22:20:46 text MySQL...日期转换函数、时间转换函数 MySQL Date/Time to Str(日期/时间转换为字符串)函数:date_format(date,format), time_format(time,format...MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format): select str_to_date('08/09/2008', '%m/%d/%Y')...), maketime(hour,minute,second): select makedate(2001,31); -- '2001-01-31' select makedate(2001,32);
MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now...MySQL 获得当前时间戳函数:current_timestamp, current_timestamp() mysql> select current_timestamp, current_timestamp...“format” 可以参看 MySQL 手册。...(hour,minute,second) select makedate(2001,31); -- '2001-01-31' select makedate(2001,32); -- '2001-02-...下面是 date_add() 实现 addtime() 功能示例: mysql> set @dt = '2008-08-09 12:12:33'; mysql> mysql> select date_add
MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now(...MySQL 获得当前时间戳函数:current_timestamp, current_timestamp() mysql> select current_timestamp, current_timestamp...“format” 可以参看 MySQL 手册。...(hour,minute,second) select makedate(2001,31); -- '2001-01-31' select makedate(2001,32); -- '2001-02-...下面是 date_add() 实现 addtime() 功能示例: mysql> set @dt = '2008-08-09 12:12:33'; mysql> mysql> select date_add
时间获取 获取当前时间 now() mysql> select now(); +---------------------+ | now() | +-------------...--------+ | 2017-06-13 14:02:16 | +---------------------+ sysdate() mysql> select sysdate(); +-------...mysql> select now(), sleep(3),now(); +---------------------+----------+---------------------+ | now()...):返回秒数的时间 time_to_sec('06:06:06'); -- 21966 select sec_to_time(21966); -- 06:06:06 时间,日期拼凑函数 makedate...(year,dayfromyear) maketime(hour,minutes,seconds) select makedate(2017,160); -- 2017-06-06 select maketime
1 月 1 日起,N 天以后的日期 TO_DAYS(date) 返回日期 date 距离 0000 年 1 月 1 日的天数 LAST_DAY(date) 返回 date 所在月份的最后一天的日期 MAKEDATE...10-01'), TIMEDIFF(NOW(),'2021-10-25 22:10:10'),FROM_DAYS(366),TO_DAYS('0000-12-25'), LAST_DAY(NOW()),MAKEDATE...> SELECT MAKEDATE(2020,1); +------------------+ | MAKEDATE(2020,1) | +------------------+ | 2020-01-01...| +------------------+ 1 row in set (0.00 sec) mysql> SELECT MAKEDATE(2020,32); +------------...-------+ | MAKEDATE(2020,32) | +-------------------+ | 2020-02-01 | +-------------------+ 1 row
日期时间计算函数(加上或者减去一段时间) MySQL 为日期增加一个时间间隔:`date_add()` MySQL 为日期减去一个时间间隔:`date_sub()` MySQL 日期、时间相减函数:`...MySQL 时区(timezone)转换函数 convert_tz(dt,from_tz,to_tz) mysql获得当前日期时间 获得当前日期+时间(date + time)函数:now() mysql...“format” 可以参看 MySQL 手册。...(hour,minute,second) select makedate(2001,31); -- '2001-01-31' select makedate(2001,32); -- '2001-02-...下面是 date_add() 实现 addtime() 功能示例: mysql> set @dt = '2008-08-09 12:12:33'; mysql> mysql> select date_add
mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 31 DAY); -> '1998-02-02' mysql> SELECT ADDDATE(...mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET'); -> '2004-01-01 13:00:00' mysql>...MAKEDATE(year,dayofyear) 给出年份值和一年中的天数值,返回一个日期。dayofyear 必须大于 0 ,否则结果为 NULL。...mysql> SELECT MAKEDATE(2001,31), MAKEDATE(2001,32); -> '2001-01-31', '2001-02-01' mysql> SELECT...MAKEDATE(2001,365), MAKEDATE(2004,365); -> '2001-12-31', '2004-12-30' mysql> SELECT MAKEDATE
今天说一说MySQL 获得当前日期时间 函数,希望能够帮助大家进步!!!...MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() 获得当前日期时间 函数" alt="复制代码"> mysql> select now(); +---...“format” 可以参看 MySQL 手册。...(hour,minute,second) select makedate(2001,31); -- '2001-01-31' select makedate(2001,32); -- '2001-02-...mysql> mysql> select date_add(@dt, interval '01:15:30' hour_second); +------------------------------
SELECT NULLIF('mysql','mysql'),NULLIF('mysql', ''); 4....FROM_DAYS(N) 返回从0000年1月1日起,N天以后的日期 TO_DAYS(date) 返回日期date距离0000年1月1日的天数 LAST_DAY(date) 返回date所在月份的最后一天的日期 MAKEDATE...- 01'), TIMEDIFF(NOW(),'2021-10-25 22:10:10'),FROM_DAYS(366),TO_DAYS('0000-12-25'), LAST_DAY(NOW()),MAKEDATE...SELECT SUBTIME(NOW(), '-1:-1:-1'); # 2023-01-20 12:57:07 SELECT FROM_DAYS(366); # 0001-01-01 SELECT MAKEDATE...(2020,1); # 2020-01-01 SELECT MAKEDATE(2020,32); # 2020-02-01 SELECT MAKETIME(1,1,1); # 01:01:01 SELECT
MySQL 为日期减去一个时间间隔:date_sub() MySQL date_sub() 日期时间函数 和 date_add() 用法一致,不再赘述。...MySQL period_add(P,N):日期加/减去N月。...“format” 可以参看 MySQL 手册。...MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second) select makedate(2001,31); --...'2001-01-31' select makedate(2001,32); -- '2001-02-01'select maketime(12,15,30); -- '12:15:30' MySQL
'Jay' where id = 1; 4、查询 select * from user where id = 1; 5、去重 select distinct id from user; 6、合并 # MySQL...; 5、排序 select * from user order by id; 6、分组 select education from user group by education; 7、分组合并 # MySQL...-737790 select time_to_sec('01:00:02'); --3602 select sec_to_time(3602); --'01:00:02' 5、拼凑日期 select makedate
MySQL Extract() 函数唯一不好的地方在于:你需要多敲几次键盘。 3. MySQL dayof......MySQL week......下面是 date_add() 实现 addtime() 功能示例: mysql> set @dt = '2008-08-09 12:12:33'; mysql> mysql> select date_add...MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second) select makedate(2001,31); --...'2001-01-31' select makedate(2001,32); -- '2001-02-01' select maketime(12,15,30); -- '12:15:30'
获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+| now() |+---...“format” 可以参看 MySQL 手册。...(hour,minute,second) select makedate(2001,31); -- '2001-01-31'select makedate(2001,32); -- '2001-02-01...下面是 date_add() 实现 addtime() 功能示例: mysql> set @dt = '2008-08-09 12:12:33'; mysql> mysql> select date_add...MySQL 日期、时间相减函数:datediff(date1,date2), timediff(time1,time2) MySQL datediff(date1,date2):两个日期相减 date1
DAYOFMONTH() DAYOFWEEK() DAYOFYEAR() EXTRACT() FROM_DAYS() hour() LAST_DAY() LOCALTIME() LOCALTIMESTAMP() makedate...LOCALTIME() SELECT LOCALTIME() 解析:输出当前日期和时间 LOCALTIMESTAMP() SELECT LOCALTIMESTAMP() 解析:返回当前日期和时间 makedate...() SELECT makedate(2017, 3); 解析:2017年第三天是什么日期 maketime() SELECT maketime(11,35,4); 解析:组合时间,参数分别为第一个参数
本文基于MySQL8.0 本文介绍MySQL关于日期和时间操作的函数。...获取小时 LAST_DAY 返回参数月份的最后一天 LOCALTIME(), LOCALTIME 和NOW()同义 LOCALTIMESTAMP, LOCALTIMESTAMP() 和 NOW()同义 MAKEDATE...mysql> SELECT CURTIME(); -> '23:50:26' mysql> SELECT CURTIME() + 0; -> 235026.000000...mysql> SELECT DATE_ADD('2018-05-01',INTERVAL 1 DAY); -> '2018-05-02' mysql> SELECT DATE_SUB('...函数 【3】:一文搞定Mysql日期时间函数
领取专属 10元无门槛券
手把手带您无忧上云