fix(backend): sql_builder 数值比较符强制 float 避免达梦隐式转换坑
- 现象:自定义规则 GRJCJS > 5000 命中 38 行全是 0.0 - 根因:value 是字符串 '5000',达梦 SQL WHERE GRJCJS > ? 收到字符串 '5000' 后做字符串 vs DECIMAL 比较,部分达梦版本把 '5000' 解析为 0.0(字符串解析失败回退),变成 WHERE GRJCJS > 0.0 - 修复:编译 gt/lt/eq 时 bind.params.append(float(val)) 强制数值化;非法值返回空字符串 让上层跳过 - 日期:date_before / date_after 保持 str(val)(达梦 / Oracle DATE 比较认字符串 YYYY-MM-DD)
Showing
Please register or sign in to comment