本文介绍了选择工作日MS SQL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有工作时间的应用程序...



我需要的是星期六星期日才能使用我的代码



没有

I have app for workers work time...

I need if is Saturday od Sunday to work with my code

Without

CASE WHEN WEEKDAY(a.vrijemeodjave) in (1,7) then 0 else 





代码工作罚款



声明是Microsoft SQL 2016



我有什么试过:





CODE WORKING FINE

Statement is Microsoft SQL 2016

What I have tried:

SELECT a.id, a.redni_broj , a.radnik, isnull(convert(varchar(20), a.vrijemeodjave, 113), '') as vrijemeodjave, convert(varchar(20), b.vrijemeprijave, 113) as vrijemeprijave,
CASE WHEN WEEKDAY(b.vrijemeprijave) in (1,7) then 0 else (CASE WHEN (DATEDIFF(SECOND, b.vrijemeprijave, a.vrijemeodjave) / 3600) > 8 THEN 8 ELSE(DATEDIFF(SECOND, b.vrijemeprijave, a.vrijemeodjave) / 3600) END) end    AS radni_sati,
CASE WHEN WEEKDAY(a.vrijemeodjave) in (1,7) then 0 else (CASE WHEN(DATEDIFF(SECOND, b.vrijemeprijave, a.vrijemeodjave) / 3600) > 8  THEN(DATEDIFF(SECOND, b.vrijemeprijave, a.vrijemeodjave) / 3600) - 8  ELSE NULL END) end    AS prekovremeni
FROM(SELECT id, redni_broj, radnik, vrijemeodjave, ROW_Number() OVER(Partition By id ORDER BY vrijemeprijave) as RowNum
FROM dbo.prijava_radnika) a INNER JOIN(SELECT id, redni_broj, radnik, vrijemeprijave, (ROW_Number() OVER(Partition By id ORDER BY vrijemeprijave) - 1) as RowNumMinusOne FROM dbo.prijava_radnika) b ON a.id = b.id where 1 = 1 

推荐答案

SELECT DATEPART(weekday, GETDATE())


SELECT
  DATENAME(weekday, a.vrijemeodjave),
  DATEPART(weekday, a.vrijemeodjave)
FROM dbo.prijava_radnika



另见SQL小提琴: []


这篇关于选择工作日MS SQL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 12:10
查看更多