【DM版本】:8
【操作系统】:银河麒麟v10
使用下面sql语句查询时会提示“非法的参数数据”,但是select * 的时候没有问题,如果去掉最后两个条件,那么无论是select count还是select *都可以正常查询?sql语句如下:
SELECT count(SRC_basic_main.mainid)
FROM SRC_basic_main
LEFT JOIN SRC_Basic_zhuanzhi ON mainid = MemberDwID
WHERE mainzt = '0'
AND mainmc IS NOT NULL
AND MemberName IS NOT NULL
AND MemberRzzt = '在职'
AND MemberBirth NOT LIKE '%+%' AND LENGTHB(MemberBirth) = 10
AND EXTRACT(YEAR FROM SYSDATE) - TO_NUMBER(SUBSTR(MemberBirth, 1, 4)) < 25
AND EXTRACT(YEAR FROM SYSDATE) - TO_NUMBER(SUBSTR(MemberBirth, 1, 4)) >= 18
要检查一下数据,应该有非法的数据
EXTRACT(YEAR FROM SYSDATE) - TO_NUMBER(SUBSTR(MemberBirth, 1, 4)) < 25
AND EXTRACT(YEAR FROM SYSDATE) - TO_NUMBER(SUBSTR(MemberBirth, 1, 4)) >= 18
count的时候要扫描所有数据,select * 工具是分页了的,您获取所有结果集应该也会报错,SUBSTR(MemberBirth, 1, 4)查出来,看看有没有非法的数字