Re: Perl or Python?
Hello!
On Thursday 19 March 2009 19:46:45 Victor Wagner wrote:
> Это где такие базы данных берут?
>
> $psql template1
> Welcome to psql 8.3.0, the PostgreSQL interactive terminal.
>
> Type: \copyright for distribution terms
> \h for help with SQL commands
> \? for help with psql commands
> \g or terminate with semicolon to execute query
> \q to quit
>
> template1=# create table tests (date timestamp, value varchar);
> CREATE TABLE
>
> template1=# insert into tests values ('2009-02-31','foo');
> ERROR: значение поля типа date/time вне диапазона: "2009-02-31"
> template1=# insert into tests values ('2009-02-31',NULL);
> ERROR: значение поля типа date/time вне диапазона: "2009-02-31"
>
> И как-то глубоко ему пофиг NULL или не NULL в соседней колонке.
> Нельзя некорректную дату вставить.
Мой пример был с текстовым полем, поскольку обсуждаем нетипизированные
значения. Ваш пример на типизированные значения в SQL.
При условии использования типа datetime (PostgreSQL) или аналога этой проблемы
не будет. Но проблема с NULL останется:
create table tests(date text,value text);
insert into tests (date,value) values ('2009-02-01',NULL);
select count(value) from tests;
0
select count(*) from tests;
1
Вопрос: сколько записей в таблице? Обобщая пример на N полей, которые
допускают NULL-значения, получаем N+1 способов (полагая count(const)=cont(*))
посчитать количество записей в таблице.
Best regards.
Reply to: