`
longgangbai
  • 浏览: 7325981 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

判断数据库表每条记录中时间段是否在每一个时间段中

阅读更多

 

  项目中一个成品价格表,每条记录中的价格有一个使用时间段,但是各个记录中时间段不存在交叉,

判断一段时间内的价格的算法:

 数据库的价格表: productprice  列字段 开始时间点 startDate  结束时间点 endDate

查询 开始时间点 startDate0  结束时间点 endDate0

查询使用使用算法公式:

startDate <= endDate0  and  endDate>=startDate0

 

得到时间段的价格:

 

 

应用如下:

/**
  * 分页查询时使用
  *
  * @param <T>
  * @param paginater
  * @param searchCondition
  * @return
  */
 public <T> Paginater<T> paginate(Paginater<T> paginater, final ProductItemPriceCondition searchCondition) {

  Sorter sorter = paginater.getSorter();
  if (sorter.isEmpty()) {
   sorter = new Sorter().asc("p.startDate");
  }
  LimitedList<T> limitedList = findByQuery(new QueryCreator() {
   public Query createQuery(Session session) {
    DynamicQuery dynamicQuery = new DynamicQuery("select distinct p from " + searchCondition.getForTypeName() + " p where (1 = 1) ");
    dynamicQuery.appendIfNotNull(" and  p.startDate<=:endDate ", "endDate", searchCondition.getEndDate());
    dynamicQuery.appendIfNotNull(" and p.endDate>=:startDate ", "startDate", searchCondition.getStartDate());
    dynamicQuery.appendIfNotNull("and p.productId=:productId ", "productId", searchCondition.getProductId());
    return dynamicQuery.build(session);
   }
  }, paginater.getLimit(), sorter);
  return paginater.fromLimitedList(limitedList);
 }

分享到:
评论

相关推荐

    Sql Server数据库中检查是否存在某张表

    有时候,我们的业务可能会这样要求:某张表是动态的,他要求每隔一段时间(如:一个月)自动生成一张结构相同的新表(如:日志表Log),这是我们要判断数据库中是否存在某张表,如果没有,则新建一张表,否者直接...

    C# 在sql server数据时间段内,间隔时间查询数据方法

    在sql server 数据库中,在一段时间范围内,间隔几条数据取出一条信息的检索方法。如:时间段内“2020-10-10 00:00:00” 到“2020-10-11 00:00:00”内,间隔30秒取出一套数据方法

    中控消费软件数据库表结构.doc

    Batchtime表用于存储消费软件系统中的批次时间段信息,每一条记录对应着一个批次时间段。批次时间段用于记录消费软件系统中的批次操作时间,以便进行批次处理。该表的字段包括: * 批次时间段ID(primary key) * ...

    数据库表设计原则技巧

    主键与外键在多表中的重复出现不属于数据冗余,这是一个需要澄清的概念。真正的数据冗余是指非键字段的重复出现。在实际设计中,适度的数据冗余可以帮助提高查询效率,但也需要注意控制,避免过度冗余导致存储成本...

    最新手机号段数据库,手机号码归属地数据库,2018年5月397506条

    标题中的“最新手机号段数据库,手机号码归属地数据库”指的是一个包含了大量手机号码信息的数据集,主要用于查询和分析手机号码的归属地。这样的数据库通常包括运营商信息、区号、城市、省份等,对于营销、数据分析...

    列车时刻表数据库

    在本例中,我们有一个名为“shike.mdb”的文件,这通常是一个Microsoft Access数据库文件,用于存储这些列车时刻表数据。Access数据库是一个关系型数据库管理系统,它可以组织和管理大量的结构化信息,非常适合处理...

    西电计算机数据库上机作业_2016级(SQLSERVER+C#实现)

    开发一个公交安全管理系统来对数据库进行访问,可以使用C、Java等集成开发环境。 系统实现功能如下: 录入司机基本信息,如工号、姓名、性别等; 录入汽车基本信息,如车牌号、座数等; 录入司机的违章信息; 查询...

    jeecms数据库表结构详解

    本文将详细解析Jeecms中的几个关键数据库表结构,帮助开发者更好地理解和应用Jeecms系统。 #### 二、CMS采集表(jc_acquisition) ##### 表结构说明: | 列名 | 类型 | 长度 | 小数位 | 是否允许空值 | 默认值 | ...

    Quartz定时任务常用的11张数据库脚本表结构

    每个Job实例在此表中对应一条记录,Job的唯一标识由`SCHED_NAME`(调度器实例名)和`JOB_NAME`(Job名)及`JOB_GROUP`(Job组名)共同确定。 2. **QRTZ_TRIGGERS**:该表用于保存Trigger信息,包括触发时间、触发...

    经典数据库设计14个原则

    - **应用实例**:例如在一个员工信息系统中,员工与部门之间可能是一对多的关系(一个部门可以有多个员工),而员工与职位之间可能是一对一的关系(每个员工只有一个职位)。 #### 2. 数据库设计的高维度概念 - **...

    数据库表定义模板(一类格式)

    - `ID`字段被标记为主键(Master Primary Key,MPK),主键是一个或一组字段,其值在表中是唯一的,用于唯一标识每条记录。在本例中,`ID`字段是一个整数类型,通常自增,确保每次插入新记录时自动分配唯一的ID。...

    数据库在会计专业中的作用.doc

    例如,一个记账凭证数据表可能包括"年月日"、"摘要"、"会计科目"、"借方金额"、"贷方金额"等字段,每条记录就代表一笔具体的经济业务。理解数据表的结构有助于会计专业学生规范地输入、处理和输出会计信息,确保数据...

    SQL语句删除数据表中重复的记录

    在数据库管理中,有时我们需要确保数据表中的记录是唯一的,避免重复数据导致的不一致性和冗余。在SQL中,可以使用特定的查询语句来删除重复的记录,以保持数据的整洁和准确。以下是如何使用SQL语句来删除数据表中...

    MySQL数据库PDF文档

    在数据库管理阶段中,可以根据不同的项目创建多个库,在每个库中可以根据项目需求创建不同的数据表,数据表中存放的是具体的数据。 SQL语言 SQL(Structured Query Language)是一种数据库查询和程序设计语言,...

    Joomla数据库表段.pdf

    Joomla是一个开源的内容管理系统(CMS),常用于构建网站和网络应用,它的数据库表段是存储内容、配置、用户信息等核心数据的基础。下面将详细介绍各个表段所代表的数据内容。 1. jos_banners: 该表用于存储Joomla...

    最全的全国手机号码段归属地数据库(含excel共360569条记录)

    这个数据库中的记录可能包括这些基本信息,以及每个号码段的归属地信息,如省份、城市和运营商。 归属地信息对于业务运营至关重要,因为它可以帮助企业了解客户的地理分布,从而制定更精准的营销策略。例如,分析...

    时态数据库

    有效时间(Valid-Time)是指数据对象在现实世界中存在的时段,即该对象在现实世界中有意义的时间段,可以表示过去、现在和未来。事务时间(Transaction-Time)则关注数据库内部操作的时间,记录了数据库状态变化的...

    数据库课程设计 汽车销售

    例如,我们可以创建一个查询来查找特定时间段内最畅销的汽车型号,或者找出购买某一车型的所有客户。此外,通过使用Access的报表功能,我们可以自定义销售报告,展示销售总额、利润、销售趋势等关键指标。 对于初学...

    最新火车时刻表数据库

    描述中的“2011年7月份最新火车时刻表”明确了这个数据库的时间范围,意味着它记录的是2011年7月这一时间段内火车的运行时刻信息。在那个时期,火车时刻表可能会因为季节性调整、新线路开通、维修保养等因素而有所...

    数据库大作业程序_sql_数据库_

    在本项目中,我们主要探讨的是一个基于SQL和数据库技术的电力数据分析系统——"天津市2018年发电量查询系统"。这个数据库大作业旨在设计并实现一个能够有效存储、管理和查询天津地区2018年电力生产数据的数据库应用...

Global site tag (gtag.js) - Google Analytics