| |
|
7.1
Vergleich von Zeichenketten in Bedingungen
|
|
|
| |
|
Zeichenketten können als CHAR-oder als V ARCHAR2-Datentyp
abgespeichert
werden. Zeichenketten, die als CHAR-Datentyp abgespeichert sind,
werden mit Leerstel-
len aufgefüllt, beim V ARCHAR2-Datentyp werden nur die tatsächlichen
Zeichen der Zei- chenkette abgespeichert. Der Vergleich von Zeichenketten
innerhalb einer Bedingung ist unterschiedlich, je nachdem wie
die Zeichenketten abgespeichert worden sind.
|
Es gibt die Möglichkeit, daß DB den String
beim Vergleich mit Leerstellen auffüllt oder aber dies unterläßt.
|
|
Beispiel:
In einem SELECT -Statement werden in der WHERE-
Klausel zwei Zeichenketten NAME1 und NAME2 auf Gleichheit geprüft
( ...WHERE NAME1=NAME2).
- NAME1 und NAME2 sind vom Datentyp CHAR:
Bei unterschiedlicher Länge füllt DB den entsprechenden
String mit Leerstellen auf und vergleicht dann die beiden Zeichenketten
miteinander . (BLANK-PADDED- Vergleich)
- NAME1 und NAME2 sind vom Datentyp VARCHAR2:
Bei unterschiedlicher Länge füllt DB nicht mit Leerstellen
auf, so daß der längere String immer der größere
ist (NON-BLANK-PADDED-Vergleich).
- NAME1l vom Datentyp CHAR und NAME2 Datentyp VARCHAR2
DB verhält sich bei unterschiedlicher Länge wie im
Fall, daß beide vom VARCHAR2-Datentyp sind (NON-BLANK-P
ADDED- Vergleich).
|
|
|
| |
|
|