2012-05-10 31 views
2

希望對某人來說這是一個快捷的方法!我一直在尋找一段時間,沒有真正的答案。我在SQL Server 2000中有一個存儲過程。我有一個變量@DayToCheck這是一個日期時間。使用datetime作爲SQL Server 2000中的列別名

@DayToCheck datetime 

我需要使用那個列我指望。它不是工作。我試圖轉換爲一個varchar,但它不喜歡這一點。這是我需要使用的兩個數列。

sum(case when [email protected] then 1 else 0 end) as CONVERT(varchar, @DayToCheck, 103), 
sum(case when startdate=DATEADD(day,-7,@DayToCheck) then 1 else 0 end) as DATEADD(day,-7,@DayToCheck) 

所以上面應該有兩列,它們的別名應該是日期(第一列)和第二列日期的-7天。

感謝您的幫助!

+1

你要做的這個動態SQL – Arion

回答

2

你必須使用動態sql。因此,也許是這樣的:

DECLARE @DayToCheck datetime 
SET @DayToCheck=GETDATE() 

DECLARE @query NVARCHAR(4000) 
SET @query= 
N'SELECT 
    sum(case when [email protected] then 1 else 0 end) as '+ 
    CONVERT(varchar, @DayToCheck, 103)+', 
    sum(case when startdate=DATEADD(day,-7,@DayToCheck) then 1 else 0 end) as '+ 
    CONVERT(varchar, @DayToCheck, 103)+' 
FROM 
    table1' 

EXECUTE(@query) 
+0

應用這個和它的工作很好 - 謝謝:) –

+0

沒問題。很高興幫助:P – Arion