2016-01-07 31 views
0

我试图通过连接两个DATEPART函数来返回列。SQL:连接两个DATEPART函数

SELECT DATEPART (ww , [Date]) + '-' + DATEPART (yy , [Date]) as Date, [Email], count(url) as Pages_Visited 
From [Log] 
WHERE UserId IS NOT NULL and UserId != 0 
GROUP BY DATEPART (ww , [Date]) + '-' + DATEPART (yy , [Date]), [Email] 

我得到的结果是结果两个函数的加法。我需要的是字符串连接。 例如,如果两个DATEPARTS回报1215分别我需要的结果看起来像12-15但现在我得到27

回答

2

转换为第一NVARCHAR:

SELECT CONVERT(nvarchar(3), DATEPART(HOUR, GETDATE())) 
     + N'-' + CONVERT(nvarchar(3), DATEPART(MINUTE, GETDATE())) 

或者,如果你正在使用varchar那么简单删除N前导字符串。

2

显式将它们转换为varchars。

发生了什么是' - '被隐式转换为-0,然后添加了其他两个数字!