Скажите, что у вас есть столбец, который содержит значения для года, месяца и даты. Можно ли получить только год? В частности, у меня естьМожет ли Postgres использовать только часть даты из поля?
ALTER TABLE pmk_pp_disturbances.disturbances_natural ADD COLUMN sdate timestamp without time zone;
и хочу просто 2004
от 2004-08-10 05:00:00
. Можно ли это сделать с помощью Postgres или должен сценарий проанализировать строку? Кстати, какие-либо правила относительно того, когда «позволить базе данных выполнять работу» против того, чтобы сценарий, запущенный на локальном компьютере, выполнял работу? Я когда-то слышал, что запросы к базам данных медленнее, чем остальная часть программы, написанная на C/C++, вообще говоря.
Оператор 'extract' может быть тем, что вы ищете: http://www.postgresql.org/docs/8.1/ static/functions-datetime.html – freakish
Нет правил для сценария базы данных и сценария, и скорость обычно не является критерием для принятия решения. Базы данных позволяют выполнять очень сложный анализ данных, и они безопасны и позволяют одновременный доступ, если они правильно настроены. Попробуйте это с помощью скрипта python ... Так что все зависит от того, что вам нужно; для однопользовательского автономного приложения, не ходите с базой данных, поскольку все, что выходит за рамки этого, имеет хороший внешний вид. – Patrick