簡體   English   中英

Oracle到SQL Server(從字符串轉換)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM