MySQL 获得当前日期时间 函数 在SQL语句中获得系统时间

合集下载

mysql数据库时间查询

mysql数据库时间查询

mysql数据库时间查询1、查询当前时间年⽉⽇时分秒mysql> select now();+---------------------+| now() |+---------------------+| 2018-03-19 23:12:52 |+---------------------+2、查询当前时间前三⼩时的时间点mysql> select subdate(now(),interval 3 hour);+--------------------------------+| subdate(now(),interval 3 hour) |+--------------------------------+| 2018-03-19 20:13:11 |+--------------------------------+3、查询当前时间前三天的时间点mysql> select subdate(now(),interval 3 day);+-------------------------------+| subdate(now(),interval 3 day) |+-------------------------------+| 2018-03-16 23:13:23 |+-------------------------------+4、查新当前时间前三分钟的时间点mysql> select subdate(now(),interval 3 minute);+----------------------------------+| subdate(now(),interval 3 minute) |+----------------------------------+| 2018-03-19 23:10:32 |+----------------------------------+5、查询当前时间时分秒mysql> select current_time();+----------------+| current_time() |+----------------+| 23:14:09 |+----------------+6、查询当前时间年⽉⽇时分秒mysql> select current_date();+----------------+| current_date() |+----------------+| 2018-03-19 |+----------------+7、获取本⽉最后⼀天mysql> select last_day(curdate());+---------------------+| last_day(curdate()) |+---------------------+| 2018-03-31 |+---------------------+8、获取本⽉第⼀天mysql> select date_add(curdate(), interval - day(curdate()) + 1 day);+--------------------------------------------------------+| date_add(curdate(), interval - day(curdate()) + 1 day) |+--------------------------------------------------------+| 2018-03-01 |+--------------------------------------------------------+9、获取下个⽉第⼀天mysql> select date_add(curdate() - day(curdate()) + 1, interval 1 month);+------------------------------------------------------------+| date_add(curdate() - day(curdate()) + 1, interval 1 month) |+------------------------------------------------------------+| 2018-04-01 |+------------------------------------------------------------+10、获取本⽉天数mysql> select day(last_day(curdate()));+--------------------------+| day(last_day(curdate())) |+--------------------------+| 31 |+--------------------------+11-1、获取⼀个⽉前的今天【2018年的2⽉只有28天】mysql> select date_sub(curdate(), interval 1 month);+---------------------------------------+| date_sub(curdate(), interval 1 month) |+---------------------------------------+| 2018-02-28 |+---------------------------------------+11-1、获取两个⽉前的今天mysql> select date_sub(curdate(), interval 2 month);+---------------------------------------+| date_sub(curdate(), interval 2 month) |+---------------------------------------+| 2018-01-29 |+---------------------------------------+12、获取当前时间【当前⽉的第⼏天】mysql> select datediff(curdate(), date_sub(curdate(), interval 1 month));+------------------------------------------------------------+| datediff(curdate(), date_sub(curdate(), interval 1 month)) |+------------------------------------------------------------+| 29 |+------------------------------------------------------------+13、以时间为条件查询数据时(例如查询某个⽉内或者固定时间段内的数据)/*需要的依赖:<!-- https:///artifact/joda-time/joda-time --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.9.9</version></dependency>*///关于数据库查询数据以时间为条件的查询时/*思路:将将时间格式的字符串转换为DateTime类型的时间,然后可以实现在该时间基础上 plus增加day month week year等等;然后将增加固定时间后得到的DateTime类型的时间转换为字符串在sql语句中进⾏拼接*/StringBuffer timeStr = new StringBuffer("2017-01");timeStr.append("-01 00:00:01");org.joda.time.format.DateTimeFormatter format = org.joda.time.format.DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");//时间解析org.joda.time.DateTime startDate = DateTime.parse(timeStr.toString(), format);DateTime endDate = startDate.plusMonths(1);//在start表⽰的时间点基础上增加⼀个⽉String start = startDate.toString("yyyy-MM-dd HH:mm:ss");String end = endDate.toString("yyyy-MM-dd HH:mm:ss");System.out.println(start);System.out.println(end);// 单引号⼀定不能省略StringBuffer sql = new StringBuffer("select * from user where create_time >'");sql.append( start).append("'").append(" and create_time < '").append(end).append("'");String sqlQuery = sql.toString();//总之就是如下" create_time < '2017-01-01 00;00:00'" (这个是2017-01-01 00;00:00String类型的参数)。

MySQL中日期与时间处理函数的用法

MySQL中日期与时间处理函数的用法

MySQL中日期与时间处理函数的用法MySQL是一种常用的关系型数据库管理系统,被广泛应用于各种Web应用程序中。

在MySQL中,日期和时间是常见的数据类型,而日期和时间处理函数则是对这些数据进行操作和处理的重要工具。

本文将介绍MySQL中日期与时间处理函数的用法,包括日期函数和时间函数。

一、日期函数的用法在MySQL中,日期函数常用于对日期进行格式化、计算、提取等操作。

以下是一些常用的日期函数。

1. CURDATE()CURDATE()函数返回当前日期,格式为YYYY-MM-DD。

例如,SELECT CURDATE()将返回当前日期。

2. NOW()NOW()函数返回当前日期和时间,格式为YYYY-MM-DD HH:MM:SS。

例如,SELECT NOW()将返回当前日期和时间。

3. DATE_FORMAT(date, format)DATE_FORMAT()函数用于将日期格式化为指定的格式。

其中date是要格式化的日期,format是日期的目标格式。

例如,SELECT DATE_FORMAT(NOW(), '%Y 年%m月%d日')将返回当前日期的中文格式。

4. DATE_ADD(date, INTERVAL value unit)DATE_ADD()函数用于在指定日期上增加一定的时间间隔。

其中date是要操作的日期,value是要增加的值,unit是时间单位。

例如,SELECTDATE_ADD(NOW(), INTERVAL 1 MONTH)将返回当前日期加上一个月后的日期。

5. DATEDIFF(date1, date2)DATEDIFF()函数用于计算两个日期之间的天数差。

其中date1和date2是要比较的日期。

例如,SELECT DATEDIFF('2022-01-01', CURDATE())将返回距离2022年1月1日还有多少天。

二、时间函数的用法在MySQL中,时间函数常用于对时间进行格式化、计算、提取等操作。

MySQL获得当前日期时间函数示例详解

MySQL获得当前日期时间函数示例详解

MySQL获得当前⽇期时间函数⽰例详解获得当前⽇期+时间(date + time)函数:now()mysql> select now();+---------------------+| now() |+---------------------+| 2008-08-08 22:20:46 |+---------------------+获得当前⽇期+时间(date + time)函数:sysdate()sysdate() ⽇期时间函数跟 now() 类似,不同之处在于:now() 在执⾏开始时值就得到了, sysdate() 在函数执⾏时动态得到值。

看下⾯的例⼦就明⽩了:mysql> select now(), sleep(3), now();+---------------------+----------+---------------------+| now() | sleep(3) | now() |+---------------------+----------+---------------------+| 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 |+---------------------+----------+---------------------+sysdate() ⽇期时间函数,⼀般情况下很少⽤到。

MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()mysql> select current_timestamp, current_timestamp();+---------------------+---------------------+| current_timestamp | current_timestamp() |+---------------------+---------------------+| 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |+---------------------+---------------------+MySQL ⽇期转换函数、时间转换函数MySQL Date/Time to Str(⽇期/时间转换为字符串)函数:date_format(date,format), time_format(time,format)mysql> select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s');+----------------------------------------------------+| date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s') |+----------------------------------------------------+| 20080808222301 |+----------------------------------------------------+MySQL ⽇期、时间转换函数:date_format(date,format), time_format(time,format) 能够把⼀个⽇期/时间转换成各种各样的字符串格式。

MySQL关于根据日期时间查询数据的sql语句

MySQL关于根据日期时间查询数据的sql语句

MySQL关于根据⽇期时间查询数据的sql语句按照时间来查询要求你那个 MySQL ⾥⾯, time 那⼀列的数据类型,是 DATETIME 或者 TIME如果数据类型是 DATE ,那就彻底没办法了.mysql 获取当前时间为select now();运⾏结果:2022-01-14 11:21:43mysql 获取当前时间戳为 select now(),unix_timestamp(now());运⾏结果:+---------------------+-----------------------+| now() | unix_timestamp(now()) |+---------------------+-----------------------+| 2022-01-14 11:22:48 | 1642130568 |+---------------------+-----------------------+查询⼀个⼩时内的数据SELECT * FROM logrecord WHERE unix_timestamp(now()) - unix_timestamp(OperatorTime) <= 60*60 order by OperatorTime desc ; logrecord :表明OperatorTime :数据库中的时间字段如果查询30分钟内把60*60改为30*60即可。

查询⼀段时间内的前⼗条记录使⽤如下⽅式SELECT * FROM logrecord WHERE unix_timestamp(now()) - unix_timestamp(OperatorTime) <= 60*60 order by OperatorTime desc limit 10;查询往前⼀天的数据SELECT * FROM logrecord WHERE TO_DAYS( NOW( ) ) - TO_DAYS( OperatorTime) < 1 order by OperatorTime desc ;logrecord :表明OperatorTime :数据库中的时间字段查询往前7天的数据:select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= 你要判断的时间字段名查询往前30天的数据:select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= 你要判断的时间字段名查询在某段⽇期之间的数据:select * from 数据表 where 时间字段名 BETWEEN '2016-02-01' AND '2016-02-05'查询往前3个⽉的数据:select * from 数据表 where 时间字段名 BETWEEN DATE_SUB(NOW(),INTERVAL 3 MONTH) AND NOW()查询往前⼀年的数据:select * from 数据表 where 时间字段名 BETWEEN DATE_SUB(NOW(),INTERVAL 1 YEAR) AND NOW()查询本⽉的数据select * from 数据表 where DATE_FORMAT(时间字段名,'%Y-%m')=DATE_FORMAT(NOW(),'%Y-%m')查询上⽉的数据select * from 数据表 where DATE_FORMAT(时间字段名,'%Y-%m')=DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH),'%Y-%m')查询本周的数据select * from 数据表 where YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m-%d')) = YEARWEEK(NOW())查询上周数据select * from 数据表 where YEARWEEK(DATE_FORMAT(CREATE_TIME,'%Y-%m-%d')) = YEARWEEK(NOW())-1select * from 数据表 where DATE_SUB(CURDATE(), INTERVAL 1 WEEK) <= 时间字段名其他时间函数:(1) select dayofweek(’1998-02-03’); -> 3dayofweek(date) 返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。

MySQL获得当前日期时间函数在SQL语句中获得系统时间

MySQL获得当前日期时间函数在SQL语句中获得系统时间

MySQL 获得当前日期时间函数1.1 获得当前日期+时间(date + time)函数:now() copyright zhizhuwebmysql> select now();+---------------------+| now() |+---------------------+| 2008-08-08 22:20:46 |+---------------------+除了now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:current_timestamp(),current_timestamp,localtime(),localtime,localtimestamp -- (v4.0.6),localtimestamp() -- (v4.0.6)这些日期时间函数,都等同于now()。

鉴于now() 函数简短易记,建议总是使用now() 来替代上面列出的函数。

1.2 获得当前日期+时间(date + time)函数:sysdate()sysdate() 日期时间函数跟now() 类似,不同之处在于:now() 在执行开始时值就得到了,sysdate() 在函数执行时动态得到值。

看下面的例子就明白了:mysql> select now(), sleep(3), now();+---------------------+----------+---------------------+| now() | sleep(3) | now() |+---------------------+----------+---------------------+| 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 |+---------------------+----------+---------------------+mysql> select sysdate(), sleep(3), sysdate();+---------------------+----------+---------------------+| sysdate() | sleep(3) | sysdate() |+---------------------+----------+---------------------+| 2008-08-08 22:28:41 | 0 | 2008-08-08 22:28:44 |+---------------------+----------+---------------------+可以看到,虽然中途sleep 3 秒,但now() 函数两次的时间值是相同的;sysdate() 函数两次得到的时间值相差3 秒。

(2.17)Mysql之SQL基础——日期函数

(2.17)Mysql之SQL基础——日期函数

(2.17)Mysql之SQL基础——⽇期函数关键词:mysql时间函数,mysql⽇期函数【1】curdate():返回当前⽇期(2019-03-06),curdate()+0 返回(20190306)【2】curtime():返回当前时间(11:31:18)【3】now():当前的⽇期+时间,即年-⽉-⽇时:分:秒【4】year/month/day/hour/minute/second(date):获取date的年/⽉/⽇/时/分/秒【5】unix_timestamp(date):返回⽇期date的unix时间戳unix_timestamp(),unix_timestamp(date),from_unixtime(unix_timestamp),from_unixtime(unix_timestamp,format)【6】current_timestamp():返回当前时间戳【7】monthName(date)/dayname(date):返回date的英⽂⽉份名/返回今天的星期名【8】date_format(date,fmt):返回字符串fmt格式化⽇期date值【9】date_add(date,interval expr type):⽇期增加~~~select date_add('2008-08-08 08:00:00', interval 1 day);【10】datediff(expr1,expr2) :返回起始时间expr1和结束时间expr2之间的天数,前⾯的⽇期减后⾯的⽇期;【11】str_to_date(str,format):select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30详细;【8】date_format(date,fmt) /【11】 str_to_date(str,format)date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date(); %Y:代表4位的年份 %y:代表2为的年份 %m:代表⽉, 格式为(01……12) %c:代表⽉, 格式为(1……12) %d:代表⽉份中的天数,格式为(00……31) %e:代表⽉份中的天数, 格式为(0……31) %H:代表⼩时,格式为(00……23) %k:代表⼩时,格式为(0……23) %h:代表⼩时,格式为(01……12) %I:代表⼩时,格式为(01……12) %l :代表⼩时,格式为(1……12) %i:代表分钟, 格式为(00……59) %r:代表时间,格式为12 ⼩时(hh:mm:ss [A/P M]) %T:代表时间,格式为24 ⼩时(HH:mm:ss) %S:代表秒,格式为(00……59) %s:代表秒,格式为(00……59)---------------------格式附录图:以下转⾃:https:///ggjucheng/p/3352280.htmlMySQL 获得当前⽇期时间函数获得当前⽇期+时间(date + time)函数:now()复制代码mysql>select now();+---------------------+| now() |+---------------------+|2008-08-0822:20:46|+---------------------+复制代码获得当前⽇期+时间(date + time)函数:sysdate()sysdate() ⽇期时间函数跟 now() 类似,不同之处在于:now() 在执⾏开始时值就得到了, sysdate() 在函数执⾏时动态得到值。

SQL干货:Mysql日期时间函数

SQL干货:Mysql日期时间函数

SQL干货:Mysql日期时间函数日期和时间函数部分也是我们日常工作中使用频率比较高的一部分。

这一篇我们主要讲讲Mysql里面的日期时间相关的函数,不同数据库之间基本相同,只会有个别函数的差异。

大家掌握一个数据库的,其他的遇到不会的,直接查就可以了。

01. 获取当前时刻时间获取当前时刻的时间就是获取程序运行的那一刻与时间相关的数据,比如年月日、时分秒等信息。

1.1返回当前时刻的日期和时间返回当前时刻的日期和时间在ESql中用的是now()函数,直接在select后面写上now()函数即可,具体代码如下:•select now()运行上面代码就会得到你程序运行这一刻所处的年月日、时分秒的信息,比如:2019-12-25 22:47:37。

1.2获取当前时刻的日期前面的now()函数获取的是当前时刻的日期和时间,我们有的时候可能只需要当前时刻的日期部分,并不需要时间部分,这个时候在在Sql中将now()函数换成curdate()函数,就是获取当前时刻的日期部分,具体代码如下:•select curdate()通过运行上面的代码,我们得到了当前时刻的日期部分:2019-12-25curdate()函数是直接获取当前时刻的日期部分,我们也可以先通过now()函数获取当前时刻的日期时间,然后再通过date()函数将日期时间转化为日期部分,具体代码如下:•select date(now())通过运行上面的代码,会得到与curdate()函数相同的结果。

我们也可以只获取日期中的年,使用的是year()函数,具体代码如下:•select year(now())通过运行上面的代码,最后得到的结果为2019。

我们也可以只获取日期中的月,使用的是month()函数,具体代码如下:•select month(now())通过运行上面的代码,最后得到的结果为12。

我们也可以只获取日期中的日,使用的是day()函数,具体代码如下:•select day(now())通过运行上面的代码,最后得到的结果为25。

MySQL中的日期和时间函数

MySQL中的日期和时间函数

函 数功 能CURDATE()获取当前⽇期CURTIME()获取当前时间NOW()获取当前的⽇期和时间UNIX_TIMESTAMP(date)获取⽇期的UNIX 时间戳FROM_UNIXTIME()获取UNIX 时间戳的⽇期值WEEK(date)返回⽇期date 为⼀年中的第⼏天YEAR(date)返回⽇期date 的年份HOUR(time)返回时间time 的⼩时值MINUTE(time)返回时间time 的分钟值MONTHNAME(date)返回时间date 的⽉份MySQL 中的⽇期和时间函数常⽤⽇期函数如下:1、获取当前⽇期和时间函数获取当前⽇期和时间NOW(),CURRENT_TIME(),LOCALTIME(),SYSYDATE()获取当前⽇期CURDATE()和CURRENT_DATE()获取当前时间CURTIME()和CURRENT_TIME()函数2、通过各种⽅式显⽰⽇期和时间通过UNIX ⽅式显⽰⽇期和时间通过UTC⽅式显⽰⽇期和时间3、获取⽇期和时间各部分值关于⽉份的函数MONTH():返回当前⽉份数值MONTHNAME():返回当前⽉份的英⽂名关于星期的函数DAYNAME():返回⽇期和时间中星期的英⽂名DAYOFWEEK():返回⽇期和时间中星期是星期⼏,返回值范围为1~7,1表⽰星期⽇,2表⽰星期⼀,以此类推。

WEEKDAY():返回⽇期和时间中星期是星期⼏,返回值范围为0~6,0表⽰星期⼀,1表⽰星期⼆,以此类推。

关于天的函数DAYOFMONTH():返回⽇期属于当前⽉第⼏天DAYOFYEAR():返回⽇期属于当前年中第⼏天获取指定值的EXTRACT()函数语法形式:EXTRACT(type of date)4、计算⽇期和时间函数与默认⽇期和时间操作TO_DAYS(date):计算⽇期参数date和默认⽇期和时间(0000年1⽉1⽇)之间相隔的天数。

FROM_DAYS(number):计算从默认⽇期和时间开始经过number天后的⽇期和时间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档