希望这对某人来说是一个快速的过程!我已经搜索了一段时间,但没有找到该问题的真正答案。我在 SQL Server 2000 中有一个存储过程。我有一个变量 @DayToCheck
,它是一个日期时间。
@DayToCheck datetime
我需要将其用于我所依赖的专栏。然而它不起作用。我尝试过转换为 varchar,但它也不喜欢那样。这是我需要使用的两个计数列。
sum(case when startdate=@DayToCheck 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 天。
感谢您的帮助!
最佳答案
你必须使用动态sql。所以也许是这样的:
DECLARE @DayToCheck datetime
SET @DayToCheck=GETDATE()
DECLARE @query NVARCHAR(4000)
SET @query=
N'SELECT
sum(case when startdate=@DayToCheck 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)
关于sql - 在 SQL Server 2000 中使用日期时间作为列别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10531084/