create table aaa as select * from scott.emp;
insert into aaa values(5000, 'a b c d e', 'CLERK', '8000', sysdate, 5000, 133, 80);
SELECT * FROM aaa WHERE SUBSTR(ENAME,4,1)=' ';

解决方案 »

  1.   

    TO:
    SELECT KEY,DATA FROM SSRF WHERE TB = 'ACB' AND SUBSTR(KEY,16,2)='T1' AND RTRIM(SUBSTR(KEY,19,15))=''
    你在(SUBSTR(KEY,19,15))=' '的单引号中加一个空格试试!!!
      

  2.   

    SELECT KEY,DATA FROM SSRF WHERE TB = 'ACB' AND SUBSTR(KEY,16,2)='T1' AND RTRIM NVL(SUBSTR(KEY,19,15),'$%#%8$%$%')='$%#%8$%$%'
    $%#%8$%$%为自己定义的一个最不可能重复的字符串,你要明白,在ORACLE中,IS NULL并不表示=''
      

  3.   

    SELECT KEY,DATA FROM SSRF WHERE TB = 'ACB' AND SUBSTR(KEY,16,2)='T1' AND RTRIM(SUBSTR(KEY,19,15)) is null;
    ok?
      

  4.   

    这15个字符全部是空格的话,rtrim后应该为null的。
    加空格所以也是不对的。
    用is null来判断。
      

  5.   

    SELECT KEY,DATA FROM SSRF WHERE TB = 'ACB' AND SUBSTR(KEY,16,2)='T1' AND RTRIM(SUBSTR(KEY,19,15)) IS NULL