[英]I need help identifying syntax error with T-SQL string agg function using convert varchar(max)
I'm attempting the string_agg
function with convert(varchar(max))
because the results exceededs the 8000 characters limit, but now I am getting a syntax error under我正在尝试使用
convert(varchar(max))
的string_agg
function 因为结果超过了 8000 个字符的限制,但现在我在
WITHIN GROUP (ORDER BY PURP.PROGRAM_YEAR DESC) AS 'GS SUMMARY'
Here is what I have:这是我所拥有的:
SELECT DISTINCT
tbl1.ID_NUMBER,
STRING_AGG(CONVERT(VARCHAR(MAX), 'PROPOSAL# ', pro.PROPOSAL_ID,': ', purp.PROGRAM_YEAR,', ', tpro.SHORT_DESC, ', ', tsub.SHORT_DESC, ', ASK: ',
FORMAT(pro.ORIGINAL_ASK_AMT,'C0','en-us'),', ANTIC: ',
FORMAT(pro.ANTICIPATED_AMT,'C0','en-us'), ', UNIT: ',
pro.UNIT_CODE, ', SUBMITTER: ',
purp.SUBMITTER, ', BENEFIT UNIT: ', TFUND.SHORT_DESC), ';') WITHIN GROUP (ORDER BY PURP.PROGRAM_YEAR DESC) AS 'SUMMARY'
FROM
TABLE1 tbl1
Then CAST or CONVERT the concatinated string to a VARCHAR(MAX)
然后将连接的字符串CAST 或 CONVERT 转换为
VARCHAR(MAX)
, STRING_AGG(CAST(CONCAT(
'PROPOSAL# ', pro.PROPOSAL_ID,
': ', purp.PROGRAM_YEAR,
', ', tpro.SHORT_DESC,
', ', tsub.SHORT_DESC,
', ASK: ', FORMAT(pro.ORIGINAL_ASK_AMT,'C0','en-us'),
', ANTIC: ', FORMAT(pro.ANTICIPATED_AMT,'C0','en-us'),
', UNIT: ', pro.UNIT_CODE,
', SUBMITTER: ', purp.SUBMITTER,
', BENEFIT UNIT: ', TFUND.SHORT_DESC
) AS VARCHAR(MAX)), ';') WITHIN GROUP (ORDER BY PURP.PROGRAM_YEAR DESC) AS SUMMARY
A CONVERT
doesn't expect that many parameters. CONVERT
并不期望有那么多参数。
In case anyone else runs into this I found the answer.万一其他人遇到这个问题,我找到了答案。 I was able to remedy it by adding the concat function:
我可以通过添加 concat function 来解决它:
, STRING_AGG(CONVERT(VARCHAR(max), CONCAT('PROPOSAL# ', pro.PROPOSAL_ID,': ', purp.PROGRAM_YEAR,', ', tpro.SHORT_DESC, ', ', tsub.SHORT_DESC, ', ASK: '
, FORMAT(pro.ORIGINAL_ASK_AMT,'C0','en-us'),', ANTIC: ', FORMAT(pro.ANTICIPATED_AMT,'C0','en-us'), ', UNIT: ', pro.UNIT_CODE, ', SUBMITTER: '
, purp.SUBMITTER, ', BENEFIT UNIT: ', TFUND.SHORT_DESC)), '; ')
WITHIN GROUP (ORDER BY PURP.PROGRAM_YEAR DESC) AS 'SUMMARY'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.