if里面怎么再加if或有什么更好的写法
怎么在下面的判断语句再写一个条件如果@规定时间等于'00:00:00.000' 再执行,不等于直接返回@规定时间
SQL code
SQL code
if convert(varchar,@刷卡时间,8)>convert(varchar,@规定时间,8) AND convert(varchar,@刷卡时间,8)<convert(varchar,@下班时间,8) --判断有没有异常.就是怕别人在8个小时间. 上班卡如果超过了下班时间为异常. begin select '迟到' select convert(varchar,(@刷卡时间-@规定时间),8) end else begin select null end --这条语句感觉写起来不好看.有什么更好的写法.我的逻辑判断是这样
作者: chirea 发布时间: 2011-06-15
用case when 呢?
作者: fredrickhu 发布时间: 2011-06-15
select case convert(varchar,@规定时间,8) when '00:00:00.000' then
if convert(varchar,@刷卡时间,8)>convert(varchar,@规定时间,8) AND convert(varchar,@刷卡时间,8)<convert(varchar,@下班时间,8) --判断有没有异常.就是怕别人在8个小时间. 上班卡如果超过了下班时间为异常.
begin
select '迟到'
select convert(varchar,(@刷卡时间-@规定时间),8)
end
else
begin
select null
end
这样的话报错.我的那个判断语法有没有办法优化.
if convert(varchar,@刷卡时间,8)>convert(varchar,@规定时间,8) AND convert(varchar,@刷卡时间,8)<convert(varchar,@下班时间,8) --判断有没有异常.就是怕别人在8个小时间. 上班卡如果超过了下班时间为异常.
begin
select '迟到'
select convert(varchar,(@刷卡时间-@规定时间),8)
end
else
begin
select null
end
这样的话报错.我的那个判断语法有没有办法优化.
作者: chirea 发布时间: 2011-06-15
SQL code
if --最外边的条件 begin if convert(varchar,@刷卡时间,8)>convert(varchar,@规定时间,8) AND convert(varchar,@刷卡时间,8)<convert(varchar,@下班时间,8) --判断有没有异常.就是怕别人在8个小时间. 上班卡如果超过了下班时间为异常. begin select '迟到' select convert(varchar,(@刷卡时间-@规定时间),8) end else begin select null end end --try
作者: AcHerat 发布时间: 2011-06-15