数据库的时间字段为String类型时使用SQL语句实现时间范围查询

问题描述:

        数据库的时间字段为String类型时使用SQL语句实现时间范围查询

解决步骤: 
        1、在前端Vue中

        向后端传一个数组,内容为具体的开始时间和结束时间。

前端写了一个addDateRange用来封装参数,以便于后端接收具体的前后开始时间。

<template> 
     <el-form-item label="采集日期" prop="occurrenceAt">
        <el-date-picker
          style="width: 215px"
          v-model="dateRange"
          value-format="yyyy-MM-dd"
          type="daterange"
          align="right"
          unlink-panels
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期">
        </el-date-picker>
      </el-form-item>
</template>

<script>
  export default {
     data() {
       return {       
      //时间范围
      dateRange: [],
              }
   }
    methods: {
        this.addDateRange(this.queryParams,this.dateRange)
    }
 }   
</script>

js:
// 添加日期范围
export function addDateRange(params, dateRange, propName) {
  let search = params;
  search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {};
  dateRange = Array.isArray(dateRange) ? dateRange : [];
  if (typeof (propName) === 'undefined') {
    search.params['beginTime'] = dateRange[0];
    search.params['endTime'] = dateRange[1];
  } else {
    search.params['begin' + propName] = dateRange[0];
    search.params['end' + propName] = dateRange[1];
  }
  return search;
}
        2、在后端接收后,在mapper中查询 :

        语句对应参数的具体作用

params.beginTime,  params.beginTime在前端传递的参数具体名称
STR_TO_DATE 转换日期
damage_date对应数据库String类型的字段
<!-- 时间范围查询商品-->
<select id="listByTime" resultType="com.atguigu.jxc.entity.DamageList">
    select * from t_damage_list
    <where>
        <if test="params.beginTime != null and params.beginTime != ''">
            and STR_TO_DATE(damage_date,'%Y-%m-%d') &gt;= STR_TO_DATE(#{arams.beginTime},'%Y-%m-%d')
        </if>
        <if test="params.endTime != null and params.endTime != ''">
            and STR_TO_DATE(damage_date,'%Y-%m-%d') &lt;= STR_TO_DATE(#{params.endTime},'%Y-%m-%d')
        </if>
    </where>
</select>
        3、完成图片后端接收参数图片

        启蒙文章:数据库的时间字段为String类型时使用SQL语句实现时间范围查询_按string 类型查找的sql语句-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值