한정자 구문이 없는 간격 리터럴의 예 - Amazon Redshift

한정자 구문이 없는 간격 리터럴의 예

참고

다음 예에서는 YEAR TO MONTH 또는 DAY TO SECOND 한정자 없이 간격 리터럴을 사용하는 방법을 보여줍니다. 한정자와 함께 권장 간격 리터럴을 사용하는 방법에 대한 자세한 내용은 간격 데이터 유형 및 리터럴 섹션을 참조하세요.

간격 리티럴은 12 hours 또는 6 months 같이 일정한 기간을 구분할 때 사용됩니다. 또한 날짜/시간 표현식이 포함된 조건이나 계산에서도 간격 리터럴을 사용할 수 있습니다.

간격 리터럴은 INTERVAL 키워드와 숫자 기간, 그리고 지원되는 날짜 부분으로 표현됩니다. 예를 들면 INTERVAL '7 days' 또는 INTERVAL '59 minutes'와 같습니다. 더욱 정확한 간격을 표현하기 위해 여러 수량과 단위를 연결할 수도 있습니다(예: INTERVAL '7 days, 3 hours, 59 minutes'). 각 단위의 약어와 복수 표현도 지원됩니다. 예를 들어 5 s, 5 second5 seconds 모두 동일한 간격입니다.

날짜 부분을 지정하지 않을 경우 간격 값은 초를 의미합니다. 기간 값은 소수로 지정할 수도 있습니다(예: 0.5 days).

다음은 모두 간격 값을 다르게 하여 계산하는 예들입니다.

다음은 지정된 날짜에 1초를 더합니다.

select caldate + interval '1 second' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 00:00:01 (1 row)

다음은 지정된 날짜에 1분을 더합니다.

select caldate + interval '1 minute' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 00:01:00 (1 row)

다음은 지정한 날짜에 3시간 35분을 더합니다.

select caldate + interval '3 hours, 35 minutes' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 03:35:00 (1 row)

다음은 지정된 날짜에 52주를 더합니다.

select caldate + interval '52 weeks' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2009-12-30 00:00:00 (1 row)

다음은 지정한 날짜에 1주, 1시간, 1분, 1초를 더합니다.

select caldate + interval '1w, 1h, 1m, 1s' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2009-01-07 01:01:01 (1 row)

다음은 지정한 날짜에 12시간(반일)을 더합니다.

select caldate + interval '0.5 days' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 12:00:00 (1 row)

다음은 2023년 2월 15일에서 4개월을 뺀 값이며 결과는 2022년 10월 15일입니다.

select date '2023-02-15' - interval '4 months'; ?column? --------------------- 2022-10-15 00:00:00

다음은 2023년 3월 31일에서 4개월을 뺀 값이며 결과는 2022년 11월 30일입니다. 계산에서는 한 달의 일수를 고려합니다.

select date '2023-03-31' - interval '4 months'; ?column? --------------------- 2022-11-30 00:00:00