SELECT 'NaN'::numeric > 10000;
?column?
----------
t
(1 строка)
4. При работе с числами типов real и double precision нужно помнить, что сравне-
ние двух чисел с плавающей точкой на предмет равенства их значений может
привести к неожиданным результатам. Например, сравним два очень малень-
ких числа (они представлены в экспоненциальной форме записи):
SELECT '5e-324'::double precision > '4e-324'::double precision;
?column?
----------
f
(1 строка)
Чтобы понять, почему так получается, выполните еще два запроса.
SELECT '5e-324'::double precision;
float8
-----------------------
4.94065645841247e-324
(1 строка)
SELECT '4e-324'::double precision;
float8
-----------------------
4.94065645841247e-324
(1 строка)
Самостоятельно проведите аналогичные эксперименты с очень большими чис-
лами, находящимися на границе допустимого диапазона для чисел типов real и
double precision.
5. Типы данных real и double precision поддерживают специальные значения
Infinity (бесконечность) и -Infinity (отрицательная бесконечность). Проверьте с
помощью SQL-команды SELECT ожидаемые свойства этих значений. Например,
сравните Infinity с наибольшим значением, которое допускается для типа double
precision (можно использовать сокращенное написание Inf):
Достарыңызбен бөлісу: