|
Übersicht
Oft stellt sich die Frage, ob Leerstrings ' ', oder NULL's abgespeichert sollen und wie
Queries für NULLs formuliert werden müssen. Das folgende Beispiel
verdeutlicht diesen Sachverhalt unter Oracle 7/8.
Beispiel
-
Man kreiere folgende Tabelle
create table empty_string_test (
name varchar(100),
phone_number varchar(100)
);
-
Man fülle sie mit folgenden Werten
insert into empty_string_test
values ('Philip Greenspun','617 253-8574');
insert into empty_string_test
values ('Cotton Seed','');
insert into empty_string_test
values ('Jin Choi',NULL);
commit;
select count(*) from empty_string_test where phone_number is null;
COUNT(*)
--------
2
select count(*) from empty_string_test where phone_number = '';
COUNT(*)
--------
0
Fazit
Oracle behandelt NULL's und Leerstrings gleich, in Queries darf man
deshalb NIE Vergleiche mit "=" formulieren, sondern man muss ausschliesslich NULL und
NOT NOLL verwednen.
|