Я конвертирую скрипт Unix с командой SQL transact в команду PostgreSQL.
У меня есть таблица с записями, которые имеют поле last_update_time
(xtime) и я хочу выбрать каждую запись в таблице, которая была обновлена в течение выбранного периода.
Скажем, текущее время - 05/01/2012 10:00:00
, а выбранное время - 04/01/2012 23:55:00
. Как мне выбрать все записи из таблицы, которые были обновлены между этими датами. Я преобразовал 2 времени в секунды в сценарии Unix перед выдачей команды psql и рассчитал интервал в секундах между этими двумя периодами.
Я думал что-то вроде
SELECT A,B,C FROM table
WHERE xtime BETWEEN now() - interval '$selectedtimeParm(in secs)' AND now();
У меня проблемы с оценкой Parm
для selectedtimeParm
- он не разрешается должным образом.
Примечание редактора: я не изменил неточное использование терминов период
, временной интервал
, время
и дата
для типа datetime timestamp
, потому что я обсуждаю это в своем ответе.