Constants are compared using blank-padded comparison semantics, so the trailing spaces won't affect the result. : CHAR « PL SQL Data Types « Oracle PL/SQL Tutorial






SQL>
SQL> SET ECHO ON
SQL> SET SERVEROUTPUT ON
SQL> DECLARE
  2    fixed_length_10  CHAR(10);
  3    fixed_length_20  CHAR(20);
  4    var_length_10    VARCHAR2(10);
  5    var_length_20    VARCHAR2(20);
  6  BEGIN
  7    
  8    
  9    IF 'AAAA' = 'AAAA          ' THEN
 10      DBMS_OUTPUT.PUT_LINE
 11      ('Constant: ''AAAA'' = ''AAAA          ''');
 12    END IF;
 13
 14  END;
 15  /
Constant: 'AAAA' = 'AAAA          '

PL/SQL procedure successfully completed.

SQL>








21.2.CHAR
21.2.1.CHAR
21.2.2.CHAR type variable
21.2.3.Compare CHAR and VARVHAR32 variables for equality
21.2.4.Constants are compared using blank-padded comparison semantics, so the trailing spaces won't affect the result.
21.2.5.Fixed length strings are compared with blank-padded comparison semantic
21.2.6.Compare fixed length string and a literal
21.2.7.Compare char against varchar, and the trailing spaces do matter.
21.2.8.Assigning an empty string to the character variable is exactly the same as assigning NULL to it.