sql-server-2008 - 计算周数 SQL Server
问题描述
我有一个查询,我需要根据 01.07.YEAR 发生的年度财政开始计算周数
我遇到的问题是,当它进入日历年的 30 天时,我没有得到正确的结果,所以我需要修改我的脚本。无论我在哪个月份,我都想要一个返回正确周数的查询。
我有一个日历表;我在当前日期加上 18 个月,这给了我这个时期,所以我试着对一周做同样的事情,但我绕着圈子转。
下面是我正在使用的代码:
SET DATEFIRST 1;
SELECT
[date],
DATEPART(wk, DATEADD(MONTH, 18, DATEADD(dd, -2, [date]))) 'FWeek',
LEFT(CONVERT(varchar, DATEADD(MONTH, 18, [date]), 112), 6) AS 'Period',
DATENAME(dw, [date]) AS 'Day'
FROM [dbo].[DP_PERIOD_DATES]
WHERE [date] >= '01/11/2018'
AND [date] < '04-01-2019'
ORDER BY [date] DESC
解决方案
SET FWEEK = DATENAME(yy, (DATEADD(month, 18, [date]))) + RIGHT('00'+DATENAME(dy,(datepart(DAYOFYEAR,DATEDIFF(DY,0,[date])/7*7 +547)+5)/7),2) , 句点 = LEFT(CONVERT(varchar, DATEADD(month, 18, [date]),112),6)
感谢保罗的帮助;试图将别人的逻辑应用于约会真的很不容易。我使用上面的代码让它工作,以防将来有人在寻找相同类型的答案
推荐阅读
- python - 将参数传递给python模块
- html - 数学公式和数字(内联)的最佳语义 HTML 元素是什么?
- javascript - Dynamics 365 - 如何根据所选产品从不同实体中检索记录并填充字段?
- sql - 查询以选择 SQL 中的首选可用行
- sql - 更改枚举架构
- c# - 从 Cortana 频道调用时,我发现 Bing 技能不起作用
- node.js - 为什么消息会从服务总线中随机丢失?我做错了什么?
- json - Flutter List 不是“Iterable”类型的子类型
' - python - 使用 python 在 excel 中创建名称管理器表
- flutter - Flutter Navigator 按下变暗区域后弹出 SimpleDialog