本文介绍了如何在SQL中为Fiscal Week创建计算列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hi,

Below mentioned is my Query:

SELECT DPSNumber, StatusDateTime FROM DispatchTool

The Resulst is:

DPSNumber   StatusDateTime
123123526   8/4/14 12:00 AM
123123527   8/5/14 12:00 AM
123123528   8/6/14 12:00 AM
123123529   8/7/14 12:00 AM

I want to add an additional column to this result as shown below:

DPSNumber   StatusDateTime  FiscalWeek
123123526   8/4/14 12:00 AM 27
123123527   8/5/14 12:00 AM 27
123123528   8/6/14 12:00 AM 27
123123529   8/7/14 12:00 AM 27

Fiscal Week for my Organization started on January 31, 2014. 'FiscalWeek' Column should display the Fiscal Week Number calculated using the Date-Time mentioned in 'StatusDateTime' column.

Thanks in Advance.

推荐答案

--create sample table 
CREATE TABLE [dbo].[DispatchTool](
	[DPSNumber] [int] NOT NULL,
	StatusDateTime Datetime
) ON [PRIMARY]


-- Insert Sample Data 

INSERT INTO [TestTB].[dbo].[DispatchTool]
           ([DPSNumber],[StatusDateTime])
     VALUES
           (123123526     ,     '2014-08-4 12:00:00.000')
INSERT INTO [TestTB].[dbo].[DispatchTool]
           ([DPSNumber],[StatusDateTime])
     VALUES
           (123123527     ,     '2014-08-5 12:00:00.000')
 
 INSERT INTO [TestTB].[dbo].[DispatchTool]
           ([DPSNumber],[StatusDateTime])
     VALUES
           (123123528     ,     '2014-08-6 12:00:00.000')
           
INSERT INTO [TestTB].[dbo].[DispatchTool]
           ([DPSNumber],[StatusDateTime])
     VALUES
           (123123529    ,     '2014-08-7 12:00:00.000')  

-- Your FiscalWeek select query.

Declare @officialFiscalWeek datetime='2014-01-31 12:00:00.000'

select  DPSNumber,
		StatusDateTime,
		DATEDIFF(week,@officialFiscalWeek,StatusDateTime) as FiscalWeek 
		FROM
		DispatchTool


SELECT DPSNumber, StatusDateTime
, Datediff(wk, CONVERT(DATE, 'January 31, 2014'), CONVERT(DATE, StatusDateTime)) FiscalWeek


这篇关于如何在SQL中为Fiscal Week创建计算列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-17 01:20