• mysql之重用查询


    其他常用查询 https://www.cnblogs.com/luxd/p/9916677.html

    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://mvnrepository.com/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类型的参数)
  • 相关阅读:
    初赛—算法复杂度
    2-SAT
    最小生成树
    18-短信验证码接口
    17-腾讯云短信开发
    16-手机号是否存在验证接口
    15-多方式登录
    14-登录注册页面
    13-Git
    12-跨域请求详解
  • 原文地址:https://www.cnblogs.com/mlf19920916/p/12217338.html
Copyright © 2020-2023  润新知