数据结构如下:员工 假期ID 开始日期 期间 结束日期 期间2
s22 L201303_001 2013-01-08 全天 2013-01-08 全天
s18 L201303_003 2013-01-10 上午 2013-01-10 上午
s18 L201303_004 2013-01-21 上午 2013-01-23 上午
s18 L201303_005 2013-01-23 全天 2013-01-23 全天
........
........
如果某天员工输入日期范围例如 员工s18再次请假,输入2013-01-22 下午 到 2013-01-24 上午 后 判断他输入的日期是否已经请过假了。如果有的话提示。
s22 L201303_001 2013-01-08 全天 2013-01-08 全天
s18 L201303_003 2013-01-10 上午 2013-01-10 上午
s18 L201303_004 2013-01-21 上午 2013-01-23 上午
s18 L201303_005 2013-01-23 全天 2013-01-23 全天
........
........
如果某天员工输入日期范围例如 员工s18再次请假,输入2013-01-22 下午 到 2013-01-24 上午 后 判断他输入的日期是否已经请过假了。如果有的话提示。
解决方案 »
- 问一个select的问题,不同lib,相同表名
- alter column 问题
- 存储过程
- 求任意(随便什么)存储过程源码,谢谢
- 包含查询的问题
- SQL 日期如何相减
- 在Windows 2000 Professional操作系统中的的SQL2000个人版中如何在本机上建立一个数据库?我用企业管理器,老是不能连接上本机.是不是一定
- 如何查询用户表的数量
- 关于Access升级到SQL Sever数据库,请大家帮忙!在线给分!
- 问个问题。有时候不确定一样东西有多少内容改怎么办呢?比如说做个bbs我不知道有多少人会回答那我应该怎么办?我怎么定义表结构呢?
- 车票预定数据库设计
- 请教1个SQL的写法,多谢!
上午就是 xxxx 08:00 -- xxx 12:00
这样多好比较了,你这半天。全天的怎么比啊
from qjb a
where start<=@start and [end]>=@end and
case when qj1='全天' then 3
when qj1='下午' then 2
else 1 end<=
case when @qj1='全天' then 3
when @qj1='下午' then 2
else 1 end and
case when qj2='全天' then 3
when qj2='下午' then 2
else 1 end>=
case when @qj2='全天' then 3
when @qj2='下午' then 2
else 1 end
附议!
原表增加计算字段,起始时间和终止时间
[起始时间] as DATEADD(hour,case [期间] when '上午' then 8 when '下午' then 13 when '全天' then 8 end,[开始日期])
[终止时间] as DATEADD(hour,case [期间2] when '上午' then 12 when '下午' then 17 when '全天' then 17 end,[结束日期])然后的判断就很简单了