Compare a variable length string against a fixed length, and the trailing spaces do matter. : VARCHAR2 « 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    fixed_length_10 := 'ZZZZ';
  9    
 10    
 11    var_length_10 := 'ZZZZ';
 12    IF fixed_length_10 = var_length_10 THEN
 13      DBMS_OUTPUT.PUT_LINE('Char and Varchar2: '''
 14        || fixed_length_10 || ''' = '''
 15        || var_length_10 || '''');
 16    ELSE
 17      DBMS_OUTPUT.PUT_LINE('Char and Varchar2: '''
 18       || fixed_length_10 || ''' NOT = '''
 19       || var_length_10 || '''');
 20    END IF;
 21
 22  END;
 23  /
Char and Varchar2: 'ZZZZ     ' NOT = 'ZZZZ'

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL>








21.4.VARCHAR2
21.4.1.VARCHAR2
21.4.2.VARCHAR2 type variable
21.4.3.varchar2 type with default value
21.4.4.Trim a text string in PL/SQL
21.4.5.Test the strings for equality
21.4.6.Using Single Quote Characters as Part of Text Strings
21.4.7.Represents the old way of placing quotes inside the text, namely to double them
21.4.8.Concatenate several string constants
21.4.9.Concatenate both string variables and constants
21.4.10.Concatenate two string variables
21.4.11.Comparison of CHAR with VARCHAR2.
21.4.12.When comparing CHAR strings against VARCHAR2 strings, use the rtrim function to eliminate trailing spaces
21.4.13.Constants are compared using blank-padded comparison semantics
21.4.14.Fixed length strings are also compared with blank-padded comparison semantic
21.4.15.Comparison of a fixed length string and a literal
21.4.16.Compare a variable length string against a fixed length, and the trailing spaces do matter.
21.4.17.The maximum lengths of varchar2 strings do not matter, only the assigned values
21.4.18.Demonstrates that empty strings are NULL