如何将日期转换为丢弃分钟和秒SSMS

时间:2014-01-17 18:33:20

标签: sql-server tsql ssms

我试图按天计算每位员工的数量。我从中拉出的桌子有长时间格式,小时/分钟/秒,并且认为这是我无法计算交易的原因b / c它们被视为长日期时间的个人记录b / c。

因此,在Select查询中,我尝试转换日期,但收到错误消息:无法在日期调用方法。

这是我的代码

SELECT ITR_EmployeeID, 
CONVERT(DATE, ITR_TransDate, 1) AS TransDate, 
COUNT(ITR_TransType) AS TC
FROM  dbo.ITR
WHERE (ITR_EmployeeID IN (N'sweda', N'bakja', N'gebwa')) 
AND (ITR_TransType LIKE N'PO Inspect') 
AND (ITR_TransDate BETWEEN @FromDate AND @ToDate)
GROUP BY ITR_EmployeeID, ITR_TransDate

我要找的是按日期计算并按employeeID分组的Transtype

谢谢!

1 个答案:

答案 0 :(得分:4)

您应该在查询窗口中执行此操作,而不是在某些视图或查询设计器中执行此操作。停止使用它们。请。

SELECT 
  ITR_EmployeeID, 
  CONVERT(DATE, ITR_TransDate) AS TransDate, 
  COUNT(ITR_TransType) AS TC 
FROM dbo.ITR 
WHERE (ITR_EmployeeID IN (N'sweda', N'bakja', N'gebwa')) 
AND (ITR_TransType LIKE N'PO Inspect') 
AND (ITR_TransDate >= @FromDate AND ITR_TransDate < DATEADD(DAY, 1, @ToDate))
GROUP BY ITR_EmployeeID, CONVERT(DATE, ITR_TransDate);

在SQL Server Management Studio中使用正确的结果获取此查询(再次,在查询窗口中,而不是有缺陷的可视化设计器)。 THEN 让它在您尝试实现它的任何应用程序代码中工作,并单独处理这些问题(或创建存储过程并避免您使用T-SQL查询文本时遇到的任何问题进入其他应用程序)。