当前位置: 代码迷 >> Sql Server >> 怎么比较时间呢?小弟我想判断 7:30之前是前一天的夜班,但是7:30后,就是今天白班
  详细解决方案

怎么比较时间呢?小弟我想判断 7:30之前是前一天的夜班,但是7:30后,就是今天白班

热度:27   发布时间:2016-04-27 12:19:50.0
如何比较时间呢?我想判断 7:30之前是前一天的夜班,但是7:30后,就是今天白班
如何比较时间呢?我想判断 7:30之前是前一天的夜班,但是7:30后,就是今天白班

就是以早晨的7:30,和晚上的 19:30 为分界点。但是我不知如何判断?
getdate()函数取取到的日期,如何进行比较判断呢?

------解决方案--------------------
用datapart计算比较
select datepart(hour,getdate())--返回当前小时
select datepart(minute,getdate())--返回当前的分钟
------解决方案--------------------
SQL code
declare @t table(id int,t datetime)insert into @t select 1,'2012-05-07 13:02:01'union all select 2,'2012-05-08 1:02:01'union all select 3,'2012-05-08 12:02:01'select id,上班日期=convert(varchar(10),dateadd(mi,-240,t),120),上班類型=case when convert(varchar(10),t,108) between '07:30:00' and '19:30:00'    then '白班'    else '夜班'    endfrom @t
  相关解决方案