sql查询中的扩展关键字不起作用

时间:2015-05-28 07:51:44

标签: sql sql-server sql-server-2012

Microsoft SQL Server 2012.我有查询

"SELECT COUNT(sessionid) as callshandled,
CAST((EXTEND(startdatetime, YEAR TO SECOND) + " + 
WBUtils.getOffsetInMins() + " units minute) AS DATE)  
As 
date FROM contactcalldetail 
WHERE 
contactdisposition=2 
AND 
startdatetime >= '"
+ WBUtils.getGmtFromLocal(sDate) + 
"' AND startdatetime < '" +
WBUtils.getGmtFromLocal(eDate)
+ "' GROUP BY 2 ORDER BY 2"
  

WBUtils.getOffsetInMins()返回int,       WBUtils.getOffsetInMins()和WBUtils.getGmtFromLocal(eDate) - 字符串。   当我尝试执行它时,我得到:

com.microsoft.sqlserver.jdbc.SQLServerException: 
Incorrect syntax near the keyword 'TO'.

请问您能帮助我理解关键字“扩展”的含义以及此查询中的错误。因为我这个查询不是由我写的,据我所知,之前工作得很好。我不确定之前使用过什么SQL Sserver版本。

1 个答案:

答案 0 :(得分:1)

来自http://www.ibm.com/developerworks/data/library/techarticle/dm-0510roy/

  

EXTEND函数调整DATE参数的精度   返回适当的DATETIME。

在T-SQL中,您可以投射日期以获得不同的类型

DECLARE @date date = '12-21-05';
SELECT @Date as date, CAST(@Date AS datetime) AS datetime;