我们在某个表中捕获出勤数据,主要捕获这些值(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查询不应该包含特定于数据库的构造,它需要使用hibernate作为ORM层在h2 / mysql / postgres上运行
发布于 2010-09-09 00:11:23
SELECT userId
FROM mytable
WHERE '2010-09-09' BETWEEN startDate AND COALESCE(endDate, startDate)https://stackoverflow.com/questions/3669735
复制相似问题