![](/img/trans.png)
[英]error in converting datetime from character string in sql server 2005
[英]Oracle to SQL Server (converting from character string)
该代码在Oracle中可用,但在SQL Server中失败。 我是SQL Server的新手,不确定如何解决此问题的正确方法。
SELECT CASE GROUPING(HireDate)
when 0 then HireDate
else 'TOTAL'
end HireDate,
count(HireDate) as count_hire_date
FROM Faculty
GROUP BY ROLLUP(HireDate);
试图得到这样的东西:
hire_date count_hire_date
1995 10
1996 20
1997 30
TOTAL 60
我是在SQL Server中使用某种类型的强制转换,还是写什么来解决此语法错误并使它在SQL Server中正常工作?
我认为您的问题是在case表达式和ROLLUP中,应该是这样的:
SELECT (CASE when GROUPING(HireDate) = 0 then CONVERT(varchar(50),HireDate) else 'TOTAL' end) HireDate,
count(HireDate) as count_hire_date
FROM Faculty
GROUP BY HireDate WITH ROLLUP
并请参考以下链接: http : //msdn.microsoft.com/en-us/library/ms178544.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.