在业务环境中,总是想要筛选出不同时间条件下的数据,例如我只想查询当天数据,当月数据或者本年数据。于是就想通过MySQL自带的几个时间函数进行简单的实现。

一、SQL语句实现Talk is cheap,show me the code.

查询当天的数据的两种方式:

1、SELECT

*

FROM

cars_location

WHERE

YEAR ( create_time ) = YEAR ( now( ) )

AND MONTH ( create_time ) = MONTH ( now( ) )

AND DAY ( create_time ) = DAY ( now( ) )

2、SELECT

*

FROM

cars_location

WHERE

date( create_time ) = curdate( );

查询本年:SELECT

*

FROM

`cars_location`

WHERE

YEAR ( create_time ) = YEAR ( now( ) )

查询本月:SELECT

*

FROM

`cars_location`

WHERE

YEAR ( create_time ) = YEAR ( now( ) )

AND MONTH ( create_time ) = MONTH ( now( ) )

二、结合Mybatis实现

首先我们来了解,假设我有一个dateFlag属性,专门用来判断前端传过来的查询时间条件,并且规定dateFlag='day’表示查询当天数据,dateFlag='month’表示查询当月数据,dateFlag='year’表示查询当年数据,以下就是mybatis的实现片段可供参考,其中需要注意在if test中的==条件后的参数需要加单引号。

AND YEAR ( create_time ) = YEAR ( now( ) )

AND MONTH ( create_time ) = MONTH ( now( ) )

AND DAY ( create_time ) = DAY ( now( ) )

AND YEAR ( create_time ) = YEAR ( now( ) )

AND MONTH ( create_time ) = MONTH ( now( ) )

AND YEAR ( create_time ) = YEAR ( now( ) )

三、总结

通过了解MySQL的时间函数以及集合Mybatis的写法,成功对接后台实现根据dateFlag查询当日、当月或者本年的数据。题外话:我们从后台返回的时间戳总是毫秒数,如果我们要转换成"yyyy-MM-dd HH:mm:ss"的格式,那么可以参考以下的js函数进行转换:function timeFormat(data){

var datatime='';

if( data != null|| data!=undefined){

timestampToTime(data);

function timestampToTime(timestamp) {

var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000

var Y = date.getFullYear() + '-';

var M = ( date.getMonth() + 1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';

var D;

if( date.getDate() < 10 ){

D = "0"+date.getDate()+" ";

}else{

D = date.getDate()+" ";

}

var h = ( date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours() ) + ':';

var m = ( date.getMinutes() < 10 ? '0'+(date.getMinutes() ) : date.getMinutes() ) + ':';

var s = ( date.getSeconds() < 10 ? '0'+(date.getSeconds() ) : date.getSeconds() );

datatime = Y+M+D+h+m+s;

return Y+M+D+h+m+s;

}

return datatime;

}

}

mysql返回数据只要年月日_MySQL支持按年月日查询相关推荐

  1. mysql更新数据索引慢_mysql添加索引,查询反而变慢

    依照楼主的数据,我也造了400万数据: mysql> select * from index_test limit 5; id1 id2 11111 11111 22222 22222 1111 ...

  2. mysql 大量数据 更改索引_MySql——来自狂神说Java - 贤贤贤sir

    为什么学习数据库 1.岗位技能需求 2.现在的世界,得数据者得天下 3.存储数据的方法 4.程序,网站中,大量数据如何长久保存? 5.数据库是几乎软件体系中最核心的一个存在. 什么是数据库 数据库 ( ...

  3. mysql 行号_PQ获取TABLE的单一值作为条件查询MySQL返回数据

    下午,我正爽歪歪地喝着咖啡,看着Power BI每秒钟刷新一次,静静等待某个分公司完成本月绩效任务,自动调用Python在钉钉群中发送喜报: 紧接着再次调用Python将Power BI云端报告中的各 ...

  4. mysql 求数据的长度_mysql 如何求数据的长度

    mysql求数据长度的方法:1.使用"LENGTH"函数来获取字符串长度,语法如"SELECT LENGTH('字符')":2.通过"CHAR_LEN ...

  5. 向 mysql导入数据 源码_MySQL 导入数据

    MySQL 导入数据 MySQL中可以使用两种简单的方式来导入MySQL导出的数据. 使用 LOAD DATA 导入数据 MySQL 中提供了LOAD DATA INFILE语句来插入数据. 以下实例 ...

  6. bootstrap table无法服务器分页_[精选] MySQL百万数据,你如何用分页来查询数据

    文章来自:https://www.cnblogs.com/lxwphp/p/9237331.html 商务合作: 请加微信 2230304070 精选文章正文 在开发过程中我们经常会使用分页,核心技术 ...

  7. mysql对所有id求积_MySQL学习笔记(二)—查询

    一.多表连接查询 新建两张表t_user.t_order.       1.内连接 返回满足条件的所有记录. (1)显式内连接 使用inner join关键字,在on子句中设定连接条件. SELECT ...

  8. mysql空值数据放在前面_Mysql实现null值排在最前/最后的操作代码

    Mysql实现null值排在最前/最后的方法示例 前言 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该 ...

  9. mysql 大量数据 更改索引_Mysql索引数据结构详解与索引优化

    本篇文章主要学习了MySQL的索引的数据结构的认识,做一个大概的了解即可. 一.索引 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储数据结构,它是某个表中一列或若 ...

最新文章

  1. 区别:电感、磁珠和零欧电阻的作用
  2. shell测试命令test、[ ]、[[ ]]
  3. Linux 的 chmod 命令,对一个目录及其子目录所有文件添加权限
  4. 今晚8点,Oracle ACE男神Roger详解Oracle中为什么没有double write?
  5. JavaScript:class类的实现方式及特点
  6. java8彩蛋_随笔,JDK8的新时间工具类
  7. SpringBoot控制层页面指定返回html前端页面
  8. C++读取和写入文件(fstream等)
  9. php版密码字典生成 原创,真空密码字典生成器-使用教程和下载
  10. Python 和Java 哪个更适合做自动化测试?
  11. pgadminIII 的基本操作
  12. fpga pcie转串口驱动
  13. 两相四线步进电机C语言程序,两相四线步进电机时序
  14. 光缆型号英文字母代表什么意思?
  15. 透彻理解神经网络剪枝算法
  16. Remember-Me功能
  17. (ssl1458)数字金字塔(三角形)逆推法
  18. 有了这些工具,可以助我工作效率起飞,强烈建议收藏!!
  19. 机器学习回归(regression)——线性回归(Hung-yi Lee)
  20. ICMAX告诉你除了BGA、SOP,还有那些主流的封装类型?

热门文章

  1. 【转】山地车知识:什么是XC,什么又是Freeride
  2. Android App 优化之 Layout 怎么摆
  3. 2015 中国电商网站排行榜
  4. JSON的格式及Gson 与 FastJson使用
  5. 互联网战神谷歌大牛Jeff Dean
  6. cad等比例缩放快捷键_CAD中怎么才能将图案等比例缩放?
  7. Vsearch免费替代收费版的usearch
  8. Mac Scrcpy无线连接
  9. 机器翻译:征服巴别塔
  10. VC++ Opensll RSA分段加密