Sql server 2008 创建会计年度表
我刚刚创建了一个会计年度表内容Sql server 2008 创建会计年度表,sql-server-2008,stored-procedures,Sql Server 2008,Stored Procedures,我刚刚创建了一个会计年度表内容 - Week (tinyint 1-53) - Start date (date) - End date (date) - Year (int) 我想制作一个SP,用以下参数将日期插入此表: - Year: <2013> - Start Year date: <12/30/2012> - End Year date: <12/28/2013> 当您对输出满意时,取消对插入的注释 当您对输出满意时,取消注释插入@Aaon B
- Week (tinyint 1-53)
- Start date (date)
- End date (date)
- Year (int)
我想制作一个SP,用以下参数将日期插入此表:
- Year: <2013>
- Start Year date: <12/30/2012>
- End Year date: <12/28/2013>
当您对输出满意时,取消对插入的注释
当您对输出满意时,取消注释插入
@Aaon Bertrand,我会不断得到:“操作数类型冲突:int与日期不兼容”。你知道这里的冲突是什么吗?@tkvo嗯,你有没有以任何方式更改我提供的代码?听起来要么是你更改了代码,要么是其他地方发生了错误…@Aaon Bertrand,我添加了/@y VACHAR(4),并在行中更改为[year]=/@y。是因为我的变量类型吗?我不知道你做了什么。你能告诉我你的产出需要是什么吗;为什么现在的年份是varchar(4),而在这个问题上,您想要一个int?你在改变要求吗?为什么?我仍然不知道你到底改变了什么,但不明白改变[年度]行会导致你报告的错误。不幸的是,很难在注释中描述代码更改。对不起。。。年份应为int。输出应为:第1行-->[周]=1、[开始日期]=12/30/2012、[结束日期]=01/05/2013、[年份]=2013;第2行-->[周]=2,[开始日期]=2012年6月1日,[结束日期]=2013年12月1日,[年度]=2013年;所以…@Aaon Bertrand,我不断得到:“操作数类型冲突:int与日期不兼容”。你知道这里的冲突是什么吗?@tkvo嗯,你有没有以任何方式更改我提供的代码?听起来要么是你更改了代码,要么是其他地方发生了错误…@Aaon Bertrand,我添加了/@y VACHAR(4),并在行中更改为[year]=/@y。是因为我的变量类型吗?我不知道你做了什么。你能告诉我你的产出需要是什么吗;为什么现在的年份是varchar(4),而在这个问题上,您想要一个int?你在改变要求吗?为什么?我仍然不知道你到底改变了什么,但不明白改变[年度]行会导致你报告的错误。不幸的是,很难在注释中描述代码更改。对不起。。。年份应为int。输出应为:第1行-->[周]=1、[开始日期]=12/30/2012、[结束日期]=01/05/2013、[年份]=2013;第2行-->[周]=2,[开始日期]=2012年6月1日,[结束日期]=2013年12月1日,[年度]=2013年;等等。。。
- Week: 1
- Start date: 12/30/2012
- End date: 01/05/2013
- Year 2013
DECLARE @d DATE = '20121230';
;WITH x AS
(
SELECT TOP (53) n = ROW_NUMBER() OVER (ORDER BY [object_id])-1
FROM sys.all_objects
ORDER BY [object_id]
)
--INSERT dbo.fiscal_year([week],[start date],[end date],[year])
SELECT
[week] = n+1,
[start date] = DATEADD(WEEK, n, @d),
[end date] = DATEADD(DAY, n*7+6,@d),
[year] = 2013
FROM x
ORDER BY n;