Sql 在visual studio上添加日期之前的数字
大家好,我这里有一段代码,其中输出两列,一列是1-30,另一列是今天前30天Sql 在visual studio上添加日期之前的数字,sql,tsql,visual-studio-2008,Sql,Tsql,Visual Studio 2008,大家好,我这里有一段代码,其中输出两列,一列是1-30,另一列是今天前30天 DECLARE @StartDate date SELECT @StartDate = GETDATE() ;WITH cte AS ( SELECT 1 AS idx, DATEADD(d,-1,@StartDate) AS idxDate UNION ALL SELECT idx -1, DATEADD(d,-1,idxDate) FROM cte W
DECLARE @StartDate date
SELECT @StartDate = GETDATE()
;WITH cte AS (
SELECT
1 AS idx,
DATEADD(d,-1,@StartDate) AS idxDate
UNION ALL
SELECT idx -1, DATEADD(d,-1,idxDate)
FROM cte
WHERE idx >-30
)
SELECT idx DateValue, CONVERT(VARCHAR(10),idxDate,110) DateLabel
FROM CTE
OPTION (MAXRECURSION 0)
现在看起来是这样
DateValue DateLabel
1 06-20-2013
0 06-19-2013
-1 06-18-2013
-2 06-17-2013
etc....
因此,它应该是-1,而不是开始时的1和0,我想在日期标签后面的前面添加dateavalue,如下所示:
DateValue DateLabel
-1 06-20-2013, -1
-2 06-19-2013, -2
-3 06-18-2013, -3
-4 06-17-2013, -4
DECLARE @StartDate date
SELECT @StartDate = GETDATE();
WITH cte AS
(
SELECT -1 AS idx, DATEADD(d,-1,@StartDate) AS idxDate
UNION ALL
SELECT idx -1, DATEADD(d,-1,idxDate)
FROM cte
WHERE idx >-30
)
SELECT idx DateValue, CONVERT(VARCHAR(10),idxDate,110) + ', ' + CAST(idx as nvarchar(max)) DateLabel
FROM CTE
OPTION (MAXRECURSION 0)
提前谢谢 你的意思是这样的:
DateValue DateLabel
-1 06-20-2013, -1
-2 06-19-2013, -2
-3 06-18-2013, -3
-4 06-17-2013, -4
DECLARE @StartDate date
SELECT @StartDate = GETDATE();
WITH cte AS
(
SELECT -1 AS idx, DATEADD(d,-1,@StartDate) AS idxDate
UNION ALL
SELECT idx -1, DATEADD(d,-1,idxDate)
FROM cte
WHERE idx >-30
)
SELECT idx DateValue, CONVERT(VARCHAR(10),idxDate,110) + ', ' + CAST(idx as nvarchar(max)) DateLabel
FROM CTE
OPTION (MAXRECURSION 0)
加
查询结束。您只需稍微调整上一个
选择:
SELECT idx-2 AS DateValue, CONVERT(VARCHAR(10),idxDate,110) +', ' + CAST(idx-2 AS NVARCHAR(10)) DateLabel
FROM CTE
哦,是的!非常感谢你!希望我能投票,但需要15份报告;(