SQL 获取上午下午

--方法一:

select 
	sum(case
		when (datepart(hour,pretime)>0 and datepart(hour,pretime)<12) then 1
		else 0 end
	) as 上午,
	sum(case
		when (datepart(hour,pretime)>12 and datepart(hour,pretime)<23) then 1
		else 0 end
	)as 下午
	from preorder
		where
			pretime>'2011-2-1'
			and pretime<'2011-7-7'

--方法二:

select t =  datepart(Hour,pretime) from preorder   >12下午。=<12上午

--上午:
if not (select object_id('Tempdb..#temp')) is null 
	drop table #temp
	select datepart(Hour,pretime) as num
	into #temp
	from preorder
	go
	select count(*) from #temp
	where num>0 and num <13

--下午:
if not (select object_id('Tempdb..#temp')) is null 
	drop table #temp
	select datepart(Hour,pretime) as num
	into #temp
	from preorder
	go
	select count(*) from #temp
	where num>12
	
	

 

你可能感兴趣的:(sql)