首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有不同日期条件的Server查询

具有不同日期条件的Server查询
EN

Stack Overflow用户
提问于 2018-01-27 12:38:14
回答 1查看 71关注 0票数 0

我需要一个条件为Target_L * X / Y的列。

哪里需要x和y应该自动来自查询。

  • Y=月份工作日总数,星期日除外 也就是说,1月的27天是工作日
  • X=截至昨天的工作日 即23 (减去星期日,1至26 = 26-3=23)

今天是2018年1月27日

final = Target_L * 23/27

如果这是长距离的话,第二个也可以。

  • 还有第二种方法,X=总工作日,即1月份包括星期日Y=till工作日在内的31天工作日(包括星期日26/31 )

从这两种方法都对我有好处,我需要Q查询这个..I有日期列,月份列。使用SQL服务器

EN

回答 1

Stack Overflow用户

发布于 2018-01-27 14:46:12

我不知道你在问什么。但试试这个。

代码语言:javascript
复制
DECLARE @FirstDay DATETIME
SET @FirstDay = DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)

DECLARE @LastDay DATETIME
SET @LastDay = DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)) 

DECLARE @Yesterday DATETIME
SET @Yesterday = dateadd(day,datediff(day,1,GETDATE()),0)


DECLARE @DaysInMonth int
SET @DaysInMonth = DAY(EOMONTH(GETDATE()))

DECLARE @NoOFSundaysInMonth int
SET @NoOFSundaysInMonth = DATEDIFF(WK, DAteAdd(DD, -1,@FirstDay), DAteAdd(DD, 1, @LastDay)) 

DECLARE @NoOfDaysWithoutSunInMonth int
SET @NoOfDaysWithoutSunInMonth = @DaysInMonth - @NoOFSundaysInMonth


DECLARE @NoOFDaysTillYes int
SET @NoOFDaysTillYes = DATEDIFF(d, @FirstDay, GETDATE())

DECLARE @NoOFSunTillYes int
SET @NoOFSunTillYes = DATEDIFF(WK, DAteAdd(DD, -1,@FirstDay), DAteAdd(DD, 1, @Yesterday)) 

DECLARE @NoOfDaysWithoutSunTillYes int
SET @NoOfDaysWithoutSunTillYes = @NoOFDaysTillYes - @NoOFSunTillYes

要检查这些值,请将其添加到查询中。

代码语言:javascript
复制
SELECT
@FirstDay AS 'First_Day', 
@LastDay AS 'Last_Day', 
@Yesterday AS 'Yesterday',

@DaysInMonth AS 'Days_In_Month', 
@NoOFSundaysInMonth AS 'No_Of_Sundays', 
@NoOfDaysWithoutSunInMonth AS 'No_OF_Days_Without_Sun',

@NoOFDaysTillYes AS 'No_OF_Days_Till_Yesterday',
@NoOFSunTillYes AS 'No_OF_Sundays_Till_Yesterday',
@NoOfDaysWithoutSunTillYes AS 'No_OF_Days_Without_Sunday_Till_Yesterday'

如果'Y‘表示这个月中所有没有星期日的日子,如果'X’是指直到昨天为止的所有没有星期日的日子,你可以使用这个。

代码语言:javascript
复制
final =Target_L * X/Y
代码语言:javascript
复制
final =Target_L * @NoOfDaysWithoutSunTillYes / @NoOfDaysWithoutSunInMonth

NoOfDaysWithoutSunTillYes = 23

NoOfDaysWithoutSunInMonth = 27

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48475889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档