Sql server 如何将日期转换为删除分钟和秒SSM

Sql server 如何将日期转换为删除分钟和秒SSM,sql-server,tsql,ssms,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 (I

我正试图每天统计每个员工的交通量。我从中提取的表具有长日期形式,具有小时/分钟/秒,我认为这就是我无法计算交易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


谢谢

您应该在查询窗口中执行此操作,而不是在某些视图或查询设计器中。别再使用那些了。求你了

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);
选择
ITR_员工ID,
将(日期,ITR_TransDate)转换为TransDate,
计数(ITR_TransType)为TC
来自dbo.ITR
其中(位于(N'sweda',N'bakja',N'gebwa')的员工ID)
和(ITR_TransType,如N'PO Inspect')
和(ITR_TransDate>=@FromDate和ITR_TransDate

让此查询在SQLServerManagementStudio中使用正确的结果(同样,在查询窗口中,而不是在有缺陷的可视化设计器中)。然后让它在您试图实现它的任何应用程序代码中工作,并分别处理这些问题(或者创建一个存储过程,避免在将T-SQL查询文本合并到其他应用程序中时遇到任何问题)。

您应该在查询窗口中执行此操作,而不是在某些视图或查询设计器中。别用那些了。求你了

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);
选择
ITR_员工ID,
将(日期,ITR_UTransdate)转换为TransDate,
计数(ITR_TransType)为TC
来自dbo.ITR
其中(位于(N'sweda',N'bakja',N'gebwa')的员工ID)
和(ITR_TransType,如N'PO Inspect')
和(ITR_TransDate>=@FromDate和ITR_TransDate

让此查询在SQLServerManagementStudio中使用正确的结果(同样,在查询窗口中,而不是在有缺陷的可视化设计器中)。然后让它在您试图实现它的任何应用程序代码中工作,并分别处理这些问题(或者创建一个存储过程,避免在将T-SQL查询文本合并到其他应用程序中时遇到任何问题)。

Microsoft SQL Server或MySQL?SQL Server 2008,谢谢!你就不能这样做:
CONVERT(DATE,ITR\u TransDate)
?。然后你需要用这个表达式来分组,而不是
ITR\u TransDate
。另外,如果您要过滤像这样的
DATETIME
列,请注意使用日期范围为日期的
BETWEEN
{选择ITR_EmployeeID,将(日期,ITR_TransDate,1)转换为TransDate,将(ITR_TransType)从dbo.ITR计算为TC,其中(ITR_EmployeeID在(N'sweda','bakja',N'gebwa'))和(ITR_TransType如N'PO Inspect'))和(ITR_TransDate BETWEEN@FromDate AND@ToDate)组,通过ITR_EmployeeID,将(DATE,ITR_TransDate,1)转换为TransDate}请小心草率地使用BETWEEN。此查询将包括@ToDate上午夜时间的行,但不包括凌晨1点、5点、9点等时间的行。请阅读以下内容:Microsoft SQL Server或MySQL?SQL Server 2008,谢谢!你就不能这样做:
CONVERT(DATE,ITR\u TransDate)
?。然后你需要用这个表达式来分组,而不是
ITR\u TransDate
。另外,如果您要过滤像这样的
DATETIME
列,请注意使用日期范围为日期的
BETWEEN
{选择ITR_EmployeeID,将(日期,ITR_TransDate,1)转换为TransDate,将(ITR_TransType)从dbo.ITR计算为TC,其中(ITR_EmployeeID在(N'sweda','bakja',N'gebwa'))和(ITR_TransType如N'PO Inspect'))和(ITR_TransDate BETWEEN@FromDate AND@ToDate)组,通过ITR_EmployeeID,将(DATE,ITR_TransDate,1)转换为TransDate}请小心草率地使用BETWEEN。此查询将包括@ToDate上午夜时间的行,但不包括凌晨1点、5点、9点等时间的行。请阅读以下内容:太棒了!非常感谢。我也非常感谢这个博客链接,我会在接下来的几个小时里阅读它!另外,我可以说我不太喜欢使用SSM,你能推荐一个不同的软件吗?我不知道我使用的查询设计窗口会导致这个问题@谢谢!如果你喜欢那篇文章,你可能也会喜欢它!非常感谢。我也非常感谢这个博客链接,我会在接下来的几个小时里阅读它!另外,我可以说我不太喜欢使用SSM,你能推荐一个不同的软件吗?我不知道我使用的查询设计窗口会导致这个问题@谢谢!如果你喜欢那篇文章,你可能也会喜欢