2012-12-31 69 views
1

我目前在用戶定義的函數varchar像這樣結合SELECT COUNT (column)SQL CONCAT SELECT COUNT和varchar

'Express 24: ' + (SELECT COUNT(Product) FROM [DHL].[dbo].[F_SubBetsy](@startdate, @enddate, 'EXPRESS EXPRESS 24', @contract, @account)) + 
'\r\nExpress 48: ' + (SEL... 

,我發現了錯誤:

Conversion failed when converting the varchar value 'Express 24: ' to data type int.

大概SELECT COUNT正在恢復一個intvarchar是不是渴望比int,但儘管多次嘗試,我還沒有想出如何合併CAST(AS NVARCHAR())VARCHAR()與SELECT COUNT正確。

有人可以解決這個問題嗎?

乾杯

回答

4
'Express 24: ' + CAST(
    (
    SELECT COUNT(Product) 
    FROM [DHL].[dbo].[F_SubBetsy](@startdate, @enddate, 
            'EXPRESS EXPRESS 24', @contract, @account) 
    ) as varchar(16)) + 
'\r\nExpress 48: ' + (SEL... 
+0

偉大的作品,不知道爲什麼你需要用的東西有額外的支架,但由於:d – Whoop5

+1

額外的括號評估SQL查詢。因此'(select 1)'是包含單個列的單個行。但'select 1'是一個查詢,它不被允許作爲'cast'的參數。 – Andomar

+0

哎呀。乾杯。 – Whoop5