SQL:连接两个DATEPART函数

时间:2016-01-07 11:34:33

标签: sql sql-server

我试图通过连接两个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 个答案:

答案 0 :(得分:2)

首先转换为nvarchar:

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

如果您使用varchar,则只需删除N前导字符串。

答案 1 :(得分:2)

明确地将它们转换为varchars。

正在发生的事情是' - '被隐式转换为-0,然后添加其他两个数字!