Ich muss testen, ob ein numerischer / float-Wert in PostgreSQL keine Zahl (NaN) ist. Beachten Sie, dass "PostgreSQL NaN
-Werte als gleich behandelt" , also dieser C ++ Trick funktioniert nicht . Da ich keine Funktion isnan
in PostgreSQL 9.3 sehe, hier ist mein bester Versuch, einen zu machen:
Gibt es einen besseren Weg, um NaN
s zu testen?
Gibt es einen besseren Weg, um NaNs zu testen?
Einfach für Gleichheit vergleichen:
%Vor% Wie in den Dokumenten, die Sie verknüpft haben, behandelt Pg NaN
s als gleich. Ich bin überrascht, da es NULL
als nicht gleich einem anderen NULL
behandelt und NaN
= NaN
erwartet hätte, um NULL
zurückzugeben, aber ... nun ja funktioniert.
Oder wenn Sie eine Funktion wünschen:
%Vor%Jeder NaN-Wert, der mit einem Minuszeichen genommen wird, ist immer noch ein NaN-Wert (genau wie eine Null), also können Sie Folgendes versuchen:
%Vor%oder:
%Vor%Soweit PostgreSQL NaN-Werte behandelt, die größer als alle Nicht-NaN-Werte sind, ist folgender Trick möglich:
%Vor%Tags und Links postgresql nan