6. Типы данных real и double precision поддерживают специальное значение NaN,
которое означает «не число» (not a number).
В математике существует такое понятие, как
неопределенность
. В качестве од-
ного из ее вариантов служит результат операции умножения нуля на бесконеч-
ность. Посмотрите, что выдаст в результате PostgreSQL:
SELECT 0.0 * 'Inf'::real;
?column?
----------
NaN
(1 строка)
В документации утверждается, что значение NaN считается равным другому
значению NaN, а также что значение NaN считается б´ольшим любого другого
«нормального» значения, т. е. не-NaN. Проверьте эти утверждения с помощью
SQL-команды SELECT.
Например, сравните значения NaN и Infinity.
select 'NaN'::real > 'Inf'::real;
?column?
----------
t
(1 строка)
7. Тип serial может применяться для столбцов, содержащих числовые значения,
которые должны быть уникальными в пределах таблицы, например, иденти-
фикаторы каких-то объектов. В качестве иллюстрация применения типа serial
предложим таблицу, содержащую наименования улиц и площадей:
CREATE TABLE test_serial ( id serial, name text );
Введите несколько строк. Обратите внимание, что значение для столбца id ука-
зывать не обязательно (и даже не нужно). Но поскольку мы задаем значения не
для всех столбцов, имеющихся в таблице, мы должны указать в команде INSERT
не только список значений, но и список столбцов. Конечно, в данном простом
случае эти списки состоят лишь из одного элемента.
INSERT INTO test_serial ( name ) VALUES ( 'Вишневая' );
INSERT INTO test_serial ( name ) VALUES ( 'Грушевая' );
Достарыңызбен бөлісу: