Для гиков :)
Недавно писал про задачку на количество дней, прошедших с 1 января 1 года до сегодняшнего дня. Решить можно было по-разному, но проще всего было запрограммировать. По лаконичности (в этой задаче) Sql даст фору даже Питону. Но вот в чём дело:
PostgreSQL:
select current_date-to_date('01.01.0001','dd.mm.yyyy')
----------
734531
Oracle:
select trunc(sysdate)-to_date('01.01.0001','dd.mm.yyyy') from dual
----------
734533
Т.е. Оракл возвращает 734533 дня, а Постгрес — 734531 день. Кто прав? :) И как бы считали вы?
P.S. Если у кого-то MS SQL Server стоит, напишите, сколько у него выходит.
Недавно писал про задачку на количество дней, прошедших с 1 января 1 года до сегодняшнего дня. Решить можно было по-разному, но проще всего было запрограммировать. По лаконичности (в этой задаче) Sql даст фору даже Питону. Но вот в чём дело:
PostgreSQL:
select current_date-to_date('01.01.0001','dd.mm.yyyy')
----------
734531
Oracle:
select trunc(sysdate)-to_date('01.01.0001','dd.mm.yyyy') from dual
----------
734533
Т.е. Оракл возвращает 734533 дня, а Постгрес — 734531 день. Кто прав? :) И как бы считали вы?
P.S. Если у кого-то MS SQL Server стоит, напишите, сколько у него выходит.
For geeks :)
Recently I wrote about a problem for the number of days that have passed from January 1, 1 year to the present day. It was possible to solve in different ways, but the easiest way was to program. In terms of brevity (in this task) Sql will give odds even to Python. But here's the thing:
PostgreSQL:
select current_date-to_date ('01 .01.0001 ',' dd.mm.yyyy ')
----------
734531
Oracle:
select trunc (sysdate) -to_date ('01 .01.0001 ',' dd.mm.yyyy ') from dual
----------
734533
Those. Oracle returns 734533 days, and Postgres returns 734531 days. Who is right? :) And how would you think?
P.S. If someone has MS SQL Server, write how much he does.
Recently I wrote about a problem for the number of days that have passed from January 1, 1 year to the present day. It was possible to solve in different ways, but the easiest way was to program. In terms of brevity (in this task) Sql will give odds even to Python. But here's the thing:
PostgreSQL:
select current_date-to_date ('01 .01.0001 ',' dd.mm.yyyy ')
----------
734531
Oracle:
select trunc (sysdate) -to_date ('01 .01.0001 ',' dd.mm.yyyy ') from dual
----------
734533
Those. Oracle returns 734533 days, and Postgres returns 734531 days. Who is right? :) And how would you think?
P.S. If someone has MS SQL Server, write how much he does.
У записи 3 лайков,
1 репостов.
1 репостов.
Эту запись оставил(а) на своей стене Кирилл Зорин