在 string_agg 函数内转换为 varchar max
我有一个 STRING_AGG 函数,它抛出错误
错误消息:STRING_AGG聚合结果超出限制 8000 字节。使用 LOB 类型以避免结果截断。
正如这个 文档,说我需要转换为 varchar(max)
当前:
STRING_AGG(CONCAT([CT].[DeviceType] , ': ' , [COM].[Address]) , ', ')) AS [Contact]
尝试:
STRING_AGG(CONVERT(VARCHAR(MAX),(CONCAT([CT].[DeviceType] , ': ' , [COM].[Address])) , ', ')) AS [Contact]
但它抛出错误:
STRING_AGG 函数需要 2 个参数。
我做错了什么?问候
I have a function a STRING_AGG function which is throwing error
Error message: STRING_AGG aggregation result exceeded the limit of
8000 bytes. Use LOB types to avoid result truncation.
As this Documentation, says I need to convert to varchar(max)
Current:
STRING_AGG(CONCAT([CT].[DeviceType] , ': ' , [COM].[Address]) , ', ')) AS [Contact]
Try:
STRING_AGG(CONVERT(VARCHAR(MAX),(CONCAT([CT].[DeviceType] , ': ' , [COM].[Address])) , ', ')) AS [Contact]
But it is throwing error:
The STRING_AGG function requires 2 argument(s).
What am I doing wrong? Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您已将分隔符放在 concat 中,它应该是第二个参数:
You have put the separator within the concat, it should be the second parameter: