mysql截取日期年月日部分查询某天用户列表信息

本文介绍了一种前后端交互的场景,即前端根据日期查询预约疫苗的人员列表并按序展示。在后端实现中,重点包括生成三位数序列号以排序,使用空格拆分字符串,以及处理日期格式的SQL查询。代码示例展示了如何生成序列号,如何对字符串进行拆分,以及如何编写SQL查询语句来匹配前端传入的日期格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.问题:前段需要根据日期查询出预约疫苗人员列表,并排序展示,如下图:

二.实现

在实现后端逻辑过程中,主要关注以下几点:

(1)由于预约人数在0~1000之间,所以排序时需要生成001、002...999类似的序列号,代码如下:

public class GenerateNum{

    static AtomicInteger val = new AtomicInteger(4);

    /**
     * 生成001,002序列
     * @param startValue
     * @return
     */
    public static String getNext(int startValue){
        val = new AtomicInteger(startValue);
        int nextVal= val.incrementAndGet();
        return String.format("%03d",nextVal);
    }

}

(2)使用空格进行拆分字符串

String[] split = "ssss".split("\\s+");

(3)sql语句的编写

由于数据库中日期字段为TIMESTAMP类型,形如“YYYY-mm-dd:HH:mm:ss”的形式,但前端上送为“YYYY-mm-dd”形式,所以查询时需求对日期格式进行截取查询,如下:

select
*
from
table
where
WHITE_ID = #{whiteId}
and
DATE_FORMAT(CREATE_TIME,'%Y-%m-%d') = #{dateTime}
order by
CREATE_TIME
asc

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值