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版本。
答案 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;