SELECT A.*
FROM QMS100M A,QMS200M B
WHERE A.SC_NO=B.SC_NOQMS100M.SC_NO varchar2(11) 主键
QMS200M.SC_NO varchar2(11) 非主键
QMS100M中存在一条记录,SC_NO为'12345678901'
QMS200M中存在一条记录,SC_NO为'12345678901'执行如上SQL语句,结果为空。若使用trim(A.SC_NO)=B.SC_NO,则可以查询到一条记录
请问不使用trim如何解决这个问题,谢谢各位了
FROM QMS100M A,QMS200M B
WHERE A.SC_NO=B.SC_NOQMS100M.SC_NO varchar2(11) 主键
QMS200M.SC_NO varchar2(11) 非主键
QMS100M中存在一条记录,SC_NO为'12345678901'
QMS200M中存在一条记录,SC_NO为'12345678901'执行如上SQL语句,结果为空。若使用trim(A.SC_NO)=B.SC_NO,则可以查询到一条记录
请问不使用trim如何解决这个问题,谢谢各位了
update QMS100M set SC_NO=trim(SC_NO)
然后再执行上面的查询,还是找不到记录
update QMS100M set SC_NO=trim(SC_NO)
然后再执行上面的查询,还是找不到记录
SELECT RAWTOHEX(SC_NO), LENGTHB(SC_NO)
FROM QMS100M
WHERE SC_NO LIKE '%12345678901%';SELECT RAWTOHEX(SC_NO), LENGTHB(SC_NO)
FROM QMS200M
WHERE SC_NO LIKE '%12345678901%';
FROM QMS100M
WHERE SC_NO LIKE '%12345678901%';SELECT RAWTOHEX(SC_NO), LENGTHB(SC_NO)
FROM QMS200M
WHERE SC_NO LIKE '%12345678901%';使用以上语句,查询到的结果是一模一样的
RAWTOHEX(SC_NO), 一串长长的阿拉伯数字
LENGTHB(SC_NO), 等于11
create table QMS200M1 as select * from QMS200M where 1=1; --之后,再试一下:
SELECT A.* FROM QMS100M A,QMS200M1 B WHERE A.SC_NO=B.SC_NO;