2012-12-31 70 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