注册

EXP_CAST隐式转换问题

JHSONN 2026/06/29 97 10 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:03134284368-20250430-272000-20149 Pack1
【操作系统】:
【CPU】:
【问题描述】*:
假设存在字段 dept_id varchar(32)
存在数值,1,1000,100000,2147483648
dept_his_id varchar(64) 存在大于2147483648的数值

exp_cast(dept_id) = 1000
exp_cast根据传入的数值1000,转换为 int ,
传入值 2147483648 , 转换为 bigint ;这块有参数可以控制吗?

目前存在问题语句(已脱敏)部分如下,dept_id 默认转换为 int 类型
START WITH
dept_id = 1000
AND emp_id IN ('112','3241')
CONNECT BY
PRIOR dept_id = dept_his_id
AND emp.id IN ('112',
'3241')
ORDER BY dept_flag

老版本(1-2-70-21.09.08-147080-10028-SEC)默认直接转换为 bigint , 新版本(03134284368-20250430-272000-20149 Pack1)如何处理?

这个问题使得在新版本执行SQL会报错 -6102: 数据溢出

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