如何在sql中获取lastweek的最后日期?我的意思是使用查询的最后一个星期日日期?
是否可以创建一个sql语句来选择周数(不是星期几 - 或一周中的日期数).我正在创建一个视图来选择此额外信息以及其他几个字段,因此无法使用存储过程.我知道可以创建一个UDF来完成这个技巧,但是如果可能的话我只需要添加视图到这个数据库,而不是视图和函数.
有任何想法吗?我来自哪里,一周从星期一开始,第一周是一年中的第一周至少4天.
我有一个基于日期和计算列的日历表(下面的代码)。问题是,由于逻辑 52 * 7 = 364,它返回的是第 53 周,所以实际上我们每年总是有一些“空闲”天,例如 2014 年的这些天:
2014年12月28日 2014年
12月29日
2014年12月30日
2014年12月31日
在我工作的公司,我们必须使用 ISO 日历周。如何更改此表以获得 ISO 日历周而不是此表?
我忘了提及我使用的是:SQL Server 2008 R2 和 2012。
CREATE TABLE [dbo].[TO_BDB_NOSSCE_CALENDAR](
[ID] [int] IDENTITY(1,1) NOT NULL,
[DATE] [date] NOT NULL,
[YEAR] AS (datepart(year,[DATE])) PERSISTED,
[SEMESTER] AS (case when datepart(month,[DATE])<(7) then '1' else '2' end) PERSISTED NOT NULL,
[TRIMESTER] AS (case when datepart(month,[DATE])<(4) then '1' else case when datepart(month,[DATE])<(7) then '2' else case when datepart(month,[DATE])<(10) then '3' else '4' end end end) PERSISTED …
Run Code Online (Sandbox Code Playgroud) 我目前正致力于创建我的第一个 Data_warehouse using sql-server
我有一个Date dimension
我想用SSIS填充它有一个字段叫ISO_year
有人能告诉我我该怎么做到的?
我试过这个查询::
select year(getdate())
- 但我不认为这是ISO_year?
我需要知道使用ssis将维度加载到DB中的最佳做法是什么?
我提到了这个http://michaelmorley.name/how-to/create-date-dimension-table-in-sql-server
代码返回:
set datefirst 1
select datepart(wk,'2016-01-01') - 1
Run Code Online (Sandbox Code Playgroud)
但
set datefirst 1
select datepart(wk,'2015-12-31')
Run Code Online (Sandbox Code Playgroud)
return..53:/
但事实上 - 这是同一周.本周有更多的日子属于2015年,所以对于这个特定周的任何日期,它应该是"53"或"1"(相同的值).如果没有建立专门的程序来分析日期和调整返回值,是否可以实现这一目标?
我使用SQL Server 2005