记录问题。
通过查阅相关文章,发现有些繁琐,结合自身需求进行调整。
需求:按周进行数据统计,将周六作为每周第一天
-- 设置周六为每周第一天
set datefirst 6;
with
a as (
SELECT
-- 获取周次
datepart( week, SubmitDate ) 周次,
count(ID) 应出勤工时,
sum(daytime)实际出勤工时
FROM
表名
WHERE
-- year ( SubmitDate ) = year ( select getdate( ) )
year ( SubmitDate ) = 2022
GROUP BY
datepart( week, SubmitDate )
)
-- format()函数为我们提供了P格式说明符,用于在格式化数字中显示百分号 round()函数保留小数点后4位小数——四舍五入
select *,format(round(出勤率/应出勤人数,4),'p') as 出勤率 from a order by 周次 desc
查询结果:
数字类型后边添加%:
SQL Server 的FORMAT()
函数为我们提供了P
格式说明符,用于在格式化数字中显示百分号