sql - 如何使用日历规则在 SQL 中获取一年中的一周?

标签 sql sql-server date datetime calendar

在 .NET C# 中有 Calendar.GetWeekOfYear 方法

public virtual int GetWeekOfYear(
DateTime time,
CalendarWeekRule rule,
DayOfWeek firstDayOfWeek)

其中有一个参数“CalendarWeekRule”来定义规则。
就我而言,我使用 CalendarWeekRule.FirstFourDayWeek 来断言一周需要在同月有 4 天才能被视为一周。

https://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear(v=vs.110).aspx

如何在 SQL 中执行此操作?
有等价的功能吗?

最佳答案

DATEPART ( wk, date ) 

这将返回从您提供的日期开始的一周的整数。更多参数DATEPART链接在这里! DATEPART TSQL

编辑:正如您在评论中提出的问题,您可以使用 SET DATEFIRST = 更改一周的第一天(see values here)

关于sql - 如何使用日历规则在 SQL 中获取一年中的一周?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47459525/

相关文章:

c++ - QSqlDatabasePrivate::addDatabase: 重复的连接名称 'MyConnection' 错误

php - 如何使用 php 或 javascript 让网站上的所有用户共享通用时区?

mysql - DATE_FORMAT() sql 返回 0 行

php - 按结果数对 SQL 查询进行排序

sql - 对重复值求和时如何获得不同的总和?

php - mysql父id循环

sql-server - SQL Server Management Studio 2017 不显示在 SQL Server 2016 中创建的数据库

c# - 在c#中执行SQL查询时出错,手动输入时没有错误

sql-server - .. 和 . 之间的语法差异在 SQL Server 中的 sysobjects 中

mysql - 在 MySQL 的 where 子句中使用日期时间索引