NULL-Werte in PostgreSQL

Hi!

Ich habe da ein merkw=C3=BCrdiges Ph=C3=A4nomen mit PostgreSQL, vielleicht =
hatte schon mal jemand ein =C3=84hnlichen Problem?


dummy2=3D# UPDATE mitglied SET address_addition =3D '' WHERE address_add=
ition =3D NULL;
UPDATE 0

dummy2=3D# ALTER TABLE mitglied ALTER COLUMN address_addition SET NOT NULL;
FEHLER: Spalte =C2=BBaddress_addition=C2=AB enth=C3=A4lt NULL-Werte

dummy2=3D# SELECT COUNT(*) FROM mitglied SET WHERE address_addition =3D NUL=
L;
count
-------
0
(1 Zeile)


Gru=C3=9F

Olaf

--
Meine Rechtschreibfehler stehen unter der Creative Commons Lizenz.
(Bearbeitungen und Weitergabe unter gleichen Bedingungen):
http://creativecommons.org/licenses/by-sa/2.0/de/

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
Olaf Radicke [ Mi, 05 November 2008 17:12 ] [ ID #1975999 ]

Re: NULL-Werte in PostgreSQL

Ja, der Denkfehler war, NULL f=C3=BCr ein Wert zu halten, auf den gepr=C3=
=BCft wird.
Richtig ist aber, das NULL f=C3=BCr die Abwesenheit eines wertes steht und
"IS NULL" eine Funktion ist, die auf die nichts Existenz des Wertes pr=C3=
=BCft.

Danke

Olaf

--
Meine Rechtschreibfehler stehen unter der Creative Commons Lizenz.
(Bearbeitungen und Weitergabe unter gleichen Bedingungen):
http://creativecommons.org/licenses/by-sa/2.0/de/

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
Olaf Radicke [ Mi, 05 November 2008 18:07 ] [ ID #1976000 ]

Re: NULL-Werte in PostgreSQL

Hi Olaf,

Am 05.11.2008 um 17:12 schrieb Olaf Radicke:

> Ich habe da ein merkwürdiges Phänomen mit PostgreSQL, vielleicht =

> hatte schon mal jemand ein =C4hnlichen Problem?

der Vergleich sollte lauten "address_addition IS NULL". Der Vergleich
von NULL mit irgendwas über den "=3D"-Operator liefert immer NULL, was =

oft als "false" gewertet wird.

Viele Güße
Ralf


--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
Ralf Schuchardt [ Mi, 05 November 2008 18:00 ] [ ID #1976001 ]

Re: NULL-Werte in PostgreSQL

On Wednesday 05 November 2008 17:12:49 Olaf Radicke wrote:
> Hi!
>
> Ich habe da ein merkw=C3=BCrdiges Ph=C3=A4nomen mit PostgreSQL, vielleich=
t hatte schon mal jemand ein =C3=84hnlichen Problem?
>
>
> dummy2=3D# UPDATE mitglied SET address_addition =3D '' WHERE address_a=
ddition =3D NULL;
> UPDATE 0
>
> dummy2=3D# ALTER TABLE mitglied ALTER COLUMN address_addition SET NOT NU=
LL;
> FEHLER: Spalte =C2=BBaddress_addition=C2=AB enth=C3=A4lt NULL-Werte
>
> dummy2=3D# SELECT COUNT(*) FROM mitglied SET WHERE address_addition =3D N=
ULL;
> count
> -------
> 0
> (1 Zeile)

Nutze statt

WHERE address_addition =3D NULL

einfach

WHERE address_addition IS NULL

und schon gibt es kein merkw=C3=BCrdiges Ph=C3=A4nomen mehr ;)

Gru=C3=9F : Janko



___________________________________________________________
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail=
: http://mail.yahoo.de


--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
Janko Richter [ Mi, 05 November 2008 18:02 ] [ ID #1976002 ]

Re: NULL-Werte in PostgreSQL

On Wednesday 05 November 2008 17:12:49 Olaf Radicke wrote:
> SELECT COUNT(*) FROM mitglied SET WHERE address_addition =3D NULL;

.... weil

SELECT COUNT(*) FROM mitglied WHERE address_addition IS NULL

richtig w=C3=A4re.

Gru=C3=9F: Janko

--
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
Janko Richter [ Mi, 05 November 2008 17:40 ] [ ID #1976692 ]
Datenbanken » gmane.comp.db.postgresql.german » NULL-Werte in PostgreSQL

Vorheriges Thema: == WöchentlicherPostgreSQL Newsletter - 09.November 2008
Nächstes Thema: == WöchentlicherPostgreSQL Newsletter - 02.November 2008