datepart从2年开始的几个月

时间:2013-03-29 13:26:33

标签: sql

我有这段代码:

SELECT Jmeno, COUNT(Ucast)
  FROM Hraci
 INNER JOIN Ucast_Zapas ON Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace
 INNER JOIN Zapas ON Zapas.ID_zapas=Ucast_Zapas.ID_zapasu_ucast
 INNER JOIN Kategorie ON Kategorie.IDkategorie=Zapas.Kategorie_zapas
 WHERE (Ucast=1)
   AND (Kategorie.IDkategorie=1)
   AND (datepart(year, Zapas_Datum) = '2013')
   AND (datepart(MONTH, Zapas_Datum) BETWEEN 1 AND 5) 
GROUP BY Jmeno;

我想写什么,当我想要2013年8月12日和2014年1月8日这一年?

1 个答案:

答案 0 :(得分:0)

如果我理解您的要求是否正确,您想要返回ZAPAS_Datum字段介于8/2013和2014年8月之间的所有记录吗?如果是这样,那么这应该有效:

SELECT Jmeno, COUNT(Ucast)
  FROM Hraci
 INNER JOIN Ucast_Zapas ON Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace
 INNER JOIN Zapas ON Zapas.ID_zapas=Ucast_Zapas.ID_zapasu_ucast
 INNER JOIN Kategorie ON Kategorie.IDkategorie=Zapas.Kategorie_zapas
 WHERE (Ucast=1)
   AND (Kategorie.IDkategorie=1)
   AND Zapas_Datum >= '8/1/2013' 
   AND Zapas_Datum < '9/1/2014' 
GROUP BY Jmeno;

顺便说一句 - 根据您的RDBMS,您可能需要以不同的方式格式化日期。