注册

各位老师,达梦通过 LISTAGG( SUBSTR(CONCAT()) AS EtfInfo拼凑出来的sql字符串截断怎么处理,具体sql在描述里

沧海 2024/03/27 1291 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:linux
【CPU】:x86
【问题描述】*:mysql语句如下
SELECT
FundId,
max( LotSize ) AS LotSize,
max( CashDifference ) AS CashDifference,
GROUP_CONCAT( CONCAT( Symbol, ';', Quantity, ';', OverrideAmount, ';', IFNULL( AdditionalProp, '' ) ) SEPARATOR '|' ) AS EtfInfo
FROM
GenusETFInfo
WHERE
TheDate = 20240320
GROUP BY
FundId

做了SET SESSION group_concat_max_len = 4294967295
达梦的sql如下
SELECT
FundId,
MAX(LotSize) AS LotSize,
MAX(CashDifference) AS CashDifference,
LISTAGG(
SUBSTR(CONCAT(Symbol, ';', Quantity, ';', OverrideAmount, ';', IFNULL(AdditionalProp, '')), 1, 1000000), -- 假设最大长度为 1000 字符
'|'
) WITHIN GROUP (ORDER BY Symbol) AS EtfInfo
FROM
GenusETFInfo
WHERE
TheDate = 20240320
GROUP BY
FundId;
这边报字符串截断。当前CONCAT字段能否加大它的长度

回答 0
暂无回答
扫一扫
联系客服