2016-01-07 33 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,然後添加了其他兩個數字!