CHAR

CHAR ist ein aphanumerischer Datentyp fester Länge bis maximal 2000 Byte. Werden bei Variablen oder Konstanten Werte kürzerer Länge zugewiesen, so wird mit Leerzeichen aufgefüllt, bis die Länge der CHAR-Variablen/Konstanten errreicht ist.

Syntax des CHAR-Datentyps:

   CHAR (längenangabe)

Bei Vergleichen von CHAR-Variablen/Konstanten mit VARCHAR bzw. VARCHAR2-Variablen/Konstanten kann dieses Auffüllen mit Leerzeichen zu irritierenden Ergebnissen führen:

   v_var    VARCHAR2(5) := 'ABC';
   v_char   CHAR(5)     := 'ABC';

   IF v_char = v_var THEN ... ELSE ... END IF;

Dieser Vergleich wird immer im ELSE-Zweig landen, weil "ABC " mit zwei abschließenden Leerzeichen etwas anderes ist als "ABC" ohne Leerzeichen.

siehe auch: Deklarationsteil

Quellen:

  • INCITS/ISO/IEC 9075-1-2008. Part 1 "SQL/Framework", ISO International Organization for Standardization / INCITS InterNational Committee for Information Technology Standards, 2008
  • INCITS/ISO/IEC 9075-1-2008. Part 2 "SQL/Foundation", ISO International Organization for Standardization / INCITS InterNational Committee for Information Technology Standards, 2008
  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, München, 2002, ISBN 3-8273-7021-3
  • Melton, Jim/Simon, Alan R.: "SQL: 1999 - Understanding Relational Language Components", Morgan Kaufmann, San Francisco, 2001, ISBN 1558604561
  • Oracle® Database SQL Language Reference 11g Release 2 (11.2), E17118-03, August 2010, http://download.oracle.com/docs/cd/E11882_01/server.112/e17118.pdf
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2

Kategorie: Oracle-PL-SQL, SQL, C