sql - 我怎么知道日期是否在特定时间段内

标签 sql database hibernate

我们在某个表中捕获出勤数据,主要是捕获值(userId、startDate、endDate)。如果某人在某个日期申请休假,则仅填写 startDate,如果他申请一组日期,则捕获开始/结束日期。什么查询可以帮助我找到某人是否在某个日期(比如本月 9 日、12 日、15 日)休假

user1, 9/8/2010
user2, 9/9/2010, 9/10/2010
user3, 9/14/2010
user4, 9/15/2010
user5, 9/9/2010, 9/20/2010

users taking leaving on 9th would be user2, user5
users taking leaving on 12th would be user5
users taking leaving on 15th would be user4, user5

查询不应包含特定于数据库的构造,它需要在 h2/mysql/postgres 使用hibernate作为ORM层

最佳答案

SELECT  userId
FROM    mytable
WHERE   '2010-09-09' BETWEEN startDate AND COALESCE(endDate, startDate)

关于sql - 我怎么知道日期是否在特定时间段内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669735/

相关文章:

sql - 销售报告制作查询

database - 内存中的 H2 数据库,插入脚本不持久

java - JPA @Entity 继承

hibernate - 如何使用 JPA 插件获取 Play Framework 2 中的 org.hibernate.cfg.Configuration

mysql - 在mysql数据库中,如何从csv文件上传修改后的数据

mysql - SQL 中的保留分析

php - 从 Mysql DB 中的文本字段中检索一段文本,直到找到特殊字符

sql - 查询的意义是什么?

database - Backbone JS 保存/删除到服务器保留与模型关联的主键?

mysql - Hibernate + MySQL 枚举字段错误