显然 SQL-CE 3.5 认为周数就像整个世界都是美国人一样。然而,我确实住在欧盟,在荷兰。要检索的正确 SQL-CE 函数是什么,例如:
- 任何给定日期的周数
- 前一周数开始日期
- 当前周数开始
如果 SQL-CE 在欧洲周开始时无法回答这个问题。那么是否有某种(最好是免费的)代码可以在日期之间进行转换,所以我们有一个可以在欧盟和美国风格的周数之间转换的函数?
因此,如果我们输入一个欧洲时间范围,即第 1 周到第 3 周,它会被转换为第 X 天和第 Y 天。
显然 SQL-CE 3.5 认为周数就像整个世界都是美国人一样。然而,我确实住在欧盟,在荷兰。要检索的正确 SQL-CE 函数是什么,例如:
如果 SQL-CE 在欧洲周开始时无法回答这个问题。那么是否有某种(最好是免费的)代码可以在日期之间进行转换,所以我们有一个可以在欧盟和美国风格的周数之间转换的函数?
因此,如果我们输入一个欧洲时间范围,即第 1 周到第 3 周,它会被转换为第 X 天和第 Y 天。
您是指 ISO 8601 周数吗?如果是这样,则由以下规则确定:每周从星期一开始,并且是包含该周星期四的一年中的一部分。
实际上,这意味着如果 1 月 1 日是星期一、星期二、星期三或星期四,则该周是一年中的第 1 周。如果 1 月 1 日是星期五、星期六或星期日,则该周是上一年的第 53 周,第 1 周是下一周。
Sql Server 2008 及更高版本使用内置函数提供直接支持datepart(isowk,{some-date-time-value-here})
。这篇文章, SQL Server 中的ISO 周,为 SQL Server 2005 及更早版本提供了一个用户定义的函数。