sql实现查找日期段的数据,在jsonApi实现按照时间段查询;SQL语法 + jsonApi语法

目录

sql实现查找日期段的数据,在jsonApi实现按照时间段查询

1、使用背景

2、代码编写

3、SQL语法 + jsonApi语法


sql实现查找日期段的数据,在jsonApi实现按照时间段查询

1、使用背景

需要筛选时间 例如:开始时间2023-04-19 - 2023-04-20

2、代码编写

// 错误代码:
SELECT createStartTime, createEndTime FROM table_name 
WHERE createTime BETWEEN value1 AND value2;
错误原因:
使用BETWEEN导致日期筛选时获取不到2023-04-20 00:00:00之后的数据查询不到,只能查询到04-19的数据

// 正确语法
// #指定时间加n天  SELECT  DATE_ADD(NOW(),INTERVAL-7 DAY)
// jsonApi中代码实现
#if("$!{creationStartTime}" !="" ) and creation_time BETWEEN '$!{creationStartTime}' 
 and DATE_SUB('$!{creationEndTime}' ,INTERVAL-1 DAY) #end

3、SQL语法 + jsonApi语法

1、查询column最后一个不能+ 逗号
// 模板写法
2、变量替换:$!{变量name}
3、参数模糊查询模板写法:#if("$!{name}" !="" ) and  name like '%$!{name}%' #end
4、参数source 去匹配表中的 type_name:#if("$!{source}" !="") and type_name like '%$!{source}%' #end
5、检索表中指定数据插入到第一条:// UNION SELECT '$!{变量name}'
    SELECT id FROM OC_User_Info 
    WHERE 
     1=1 
    #if("$!{ID}" != "") AND ID LIKE '%$!{ID}%' #end
    AND Status = 0
    #if("$!{checkedUser}" != "") UNION SELECT '$!{checkedUser}' #end // 如果有就插入,没有就不插入
6、根据时间段查找数据
    //使用BETWEEN导致日期筛选时获取不到2023-04-20 00:00:00之后的数据查询不到,只能查询到04-19的数据
    // 正确语法
    #指定时间加n天  SELECT  DATE_ADD(NOW(),INTERVAL-7 DAY)
    // jsonApi中代码实现
    #if("$!{creationStartTime}" !="" ) and creation_time BETWEEN '$!{creationStartTime}' 
     and DATE_SUB('$!{creationEndTime}' ,INTERVAL-1 DAY) #end

你可能感兴趣的:(sql,数据库,jsonApi)