1
쿼리가 데이터를 반환하는 경우 알림을 보내도록 매시간 실행해야하는 쿼리가 있습니다. 근무 외 시간에 변경 사항을받지 않으려면 현재 시간이 오전 12시에서 오전 7시 사이 인 경우이 쿼리를 실행하지 마십시오. 는 SQL은 현재 상태에서 어떻게 보이는지Postgres : 현재 시간이 범위 내에있는 경우 쿼리를 실행하지 마십시오
은 다음과 같습니다가 오프 시간 동안 실행되지 않도록
SELECT * FROM (
SELECT FLOOR(EXTRACT(EPOCH FROM (now() - updated_at))/60) :: INT as minutes_since_update
FROM table_a
WHERE column_a IS TRUE AND column_b IS NULL
LIMIT 1) a
WHERE minutes_since_update > 60
가 어떻게이 쿼리를 변경할 수 있습니다.
나는 이것을 시도했지만, 왜 효과가 없는지는 분명하지 않다.
SELECT * FROM (
IF (SELECT CURRENT_TIME BETWEEN '04:00:00' AND '11:00:00') THEN
SELECT 0 as minutes_since_update FROM table_a where true = false;
ELSE
SELECT FLOOR(EXTRACT(EPOCH FROM (now() - updated_at))/60) :: INT as minutes_since_update
FROM table_a
WHERE column_a IS TRUE AND column_b IS NULL
LIMIT 1;
END IF;
) a
WHERE minutes_since_update > 60
같은 것을 사용해야합니까? – joop