SELECT *
FROM tabelA
ORDER BY name,
CASE
WHEN ATime - CAST(CAST(ATime AS FLOAT) AS INT) < 0.5 THEN 0 --上午
ELSE 1 --下午
END
FROM tabelA
ORDER BY name,
CASE
WHEN ATime - CAST(CAST(ATime AS FLOAT) AS INT) < 0.5 THEN 0 --上午
ELSE 1 --下午
END
select orderstatus,convert(char(2), requestdate,8) as fz,count(*),max(requestdate)
from dbo.BS_BATCH_REQUERY group by orderstatus,convert(char(2), requestdate,8);
上下午分组:
group by
depart(hh,hourfield)-11.5 )+1) /(abs(datepart(hh,hourfield)-11.5 )+1)
,case when datepart(hour,ATime) < 12
then dateadd(day,datediff(day,0,ATime),0) --上午归到 零点
else
dateadd(hour,12,dateadd(day,datediff(day,0,ATime),0)) --下午归到 十二点
end
from tabelA
group by name,case when datepart(hour,ATime) < 12
then dateadd(day,datediff(day,0,ATime),0) --上午归到 零点
else
dateadd(hour,12,dateadd(day,datediff(day,0,ATime),0)) --下午归到 十二点
endor:group by dbo.udf_HalfDay(ATime)create function udf_HalfDay(@date datetime)
returns datetime
as
begin
return
(select case when datepart(hour,@date) < 12
then dateadd(day,datediff(day,0,@date),0) --上午归到 零点
else
dateadd(hour,12,dateadd(day,datediff(day,0,@date),0)) --下午归到 十二点
end)
end
else '下午' end as 时间
,post_time from news没有问题了吧(12点我算的是上午啊)
----
“谢谢各位,我看帮助找到了好的办法,datepart,尝试中,谢谢.过点时间结贴“
--^_^