sql - 返回任何给定日期的周数并从自定义日期开始
问题描述
好吧,我正在尝试创建一个返回周数的函数,但不像返回正常年份的日期部分(01-1 月 - 12 月 31 日)我想使用自定义年份(9 月 1 日 - 8 月 31 日)返回它明年的)我也有一些规则,例如:
- 9 月 1 日总是在第 1 周。-星期日是一周的最后一天。
- 如果星期日是 9 月的第一天,则第一周结束,直到下一个星期日。
我希望使用类似的代码获得结果
select week_number('01/09/2019')
结果:1
select week_number('04/09/2017')
结果:2
解决方案
尝试以下操作:
一个月中的第几周:
declare @date datetime = '01/09/2017'
select (DATEPART(week,@Date)- DATEPART(week,DATEADD(m, DATEDIFF(m, 0, @Date), 0)))
一年中的第几周:
declare @date datetime = '01/09/2017'
SELECT DATEPART(wk,@Date)
推荐阅读
- typescript - 将加载事件侦听器添加到对象元素时的加载循环
- python - 如何访问嵌套 json 文件中的子字典值?
- reactjs - 如何在 React.js 中修改现有的 PDF?
- javascript - 不支持 Qt Creator Javascript ES6 语法?
- python - ImportError:无法从“myModule”导入名称“myClass”:我在哪里搞砸了?
- grails - 升级到 grails 4:spring security inerceptUrlMap 不能基于层次结构工作
- node.js - 在 sequelize 中的所有表中添加一列
- airflow - 如何在 Airflow 的 SSHOperator 中传递动态参数?
- c++ - 将无符号整数转换为 BCD
- sql - 从 SPLIT_STRING 中查找不在表中的值