注册

执行sql报错: -6111: 字符串转换出错

DM_7734 2024/03/06 1983 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:在sql中进行了运算,都强转成int了,而且能正常执行出结果,但是在外面加了一层where条件就报错:-6111: 字符串转换出错,去掉运算或where都是正常的。
SQL:
SELECT *
FROM ( SELECT id ,
replace(bgqx, 'D', '') AS bgqxnum,
bgqx ,
rq ,
jdsj ,
DATE_FORMAT((CASE WHEN jdsj IS NULL THEN (CASE WHEN (isdate(rq)) = 1 THEN rq ELSE '19000101' END) ELSE jdsj END), 'YYYYMMDD') AS formatrq,
(DATE_FORMAT((CASE WHEN jdsj IS NULL THEN (CASE WHEN (isdate(rq))= 1 THEN rq ELSE '19000101' END) ELSE jdsj END), 'YYYYMMDD') + replace(bgqx, 'D', '') * 10000) AS gqsj
FROM BZBDAS_01_KJ_0_F_A
WHERE bgqx != 'Y' AND bgqx != 'CQ' AND bgqx != 'DQ' )
WHERE gqsj <= '20240304'

执行计划:
1 #NSET2: [14, 4561, 164]
2 #PRJT2: [14, 4561, 164]; exp_num(8), is_atom(FALSE)
3 #HASH RIGHT SEMI JOIN2: [14, 4561, 164]; n_keys(1) (ANTI), KEY(DMTEMPVIEW_889744995.colname=BZBDAS_01_KJ_0_F_A.BGQX) KEY_NULL_EQU(0)
4 #CONST VALUE LIST: [1, 3, 48]; row_num(3), col_num(1)
5 #SLCT2: [14, 4561, 164]; exp_cast(exp11)+exp_cast(exp11)*var4 <= var5
6 #CSCN2: [14, 98619, 164]; INDEX33555774(BZBDAS_01_KJ_0_F_A); btr_scan(1)

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