이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 9.9. 날짜/와이즈 토토 기능 및 운영자버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.9. 날짜/토토 꽁 머니 함수 및 연산자

표 9-28날짜/토토 꽁 머니 값 처리에 사용할 수 있는 함수를 표시하며 자세한 내용은 다음 하위 섹션에 나와 있습니다.표 9-27기본 산술 연산자의 동작을 설명합니다(+, *등). 서식 지정 토토 꽁 머니은 다음을 참조하세요.PostgreSQL : 문서 : 9.5 : 사설 토토 사설 토토 사설 토토 사설 토토 기능. 의 날짜/토토 꽁 머니 데이터 유형에 대한 배경 정보를 잘 알고 있어야 합니다.PostgreSQL : 문서 : 9.5 : 날짜/스포츠 토토 유형.

또한, 다음에 표시된 일반적인 비교 연산자는표 9-1날짜/토토 꽁 머니 유형에 사용할 수 있습니다. 날짜 및 타임스탬프(토토 꽁 머니대 포함 또는 제외)는 모두 비교할 수 있는 반면, 토토 꽁 머니(토토 꽁 머니대 포함 또는 제외) 및 간격은 동일한 데이터 유형의 다른 값과만 비교할 수 있습니다. 토토 꽁 머니대가 없는 타임스탬프와 토토 꽁 머니대가 있는 타임스탬프를 비교할 때 전자 값은 다음에서 지정한 토토 꽁 머니대에 제공되는 것으로 가정됩니다.토토 꽁 머니대구성 매개변수이며 후자 값(내부적으로 이미 UTC임)과의 비교를 위해 UTC로 회전됩니다. 마찬가지로 날짜 값은 자정을 나타내는 것으로 가정됩니다.토토 꽁 머니대타임스탬프와 비교할 때 영역.

아래에 설명된 모든 함수와 연산자는 다음을 수행합니다.토토 꽁 머니또는타임스탬프입력은 실제로 두 가지 변형으로 제공됩니다. 하나는 소요됩니다.토토 꽁 머니대 포함 토토 꽁 머니또는토토 꽁 머니대가 포함된 타임스탬프, 그리고 걸리는 것토토 꽁 머니대가 없는 토토 꽁 머니또는토토 꽁 머니대 없는 타임스탬프. 간결성을 위해 이러한 변형은 별도로 표시되지 않습니다. 또한,+그리고*연산자는 교환 가능한 쌍으로 제공됩니다(예: 날짜 + 정수 및 정수 + 날짜 모두). 우리는 각 쌍 중 하나만 표시합니다.

표 9-27. 날짜/토토 꽁 머니 연산자

운영자 결과
+ 날짜 '2001-09-28' + 정수 '7' 날짜 '2001-10-05'
+ 날짜 '2001-09-28' + 간격 '1토토 꽁 머니' 타임스탬프 '2001-09-28 01:00:00'
+ 날짜 '2001-09-28' + 토토 꽁 머니 '03:00' 타임스탬프 '2001-09-28 03:00:00'
+ 간격 '1일' + 간격 '1토토 꽁 머니' 간격 '1일 01:00:00'
+ 타임스탬프 '2001-09-28 01:00' + 간격 '23토토 꽁 머니' 타임스탬프 '2001-09-29 00:00:00'
+ 토토 꽁 머니 '01:00' + 간격 '3토토 꽁 머니' 토토 꽁 머니 '04:00:00'
- - 간격 '23토토 꽁 머니' 간격 '-23:00:00'
- 날짜 '2001-10-01' - 날짜 '2001-09-28' 정수 '3'(일)
- 날짜 '2001-10-01' - 정수 '7' 날짜 '2001-09-24'
- 날짜 '2001-09-28' - 간격 '1토토 꽁 머니' 타임스탬프 '2001-09-27 23:00:00'
- 토토 꽁 머니 '05:00' - 토토 꽁 머니 '03:00' 간격 '02:00:00'
- 토토 꽁 머니 '05:00' - 간격 '2토토 꽁 머니' 토토 꽁 머니 '03:00:00'
- 타임스탬프 '2001-09-28 23:00' - 간격 '23토토 꽁 머니' 타임스탬프 '2001-09-28 00:00:00'
- 간격 '1일' - 간격 '1토토 꽁 머니' 간격 '1일 -01:00:00'
- 타임스탬프 '2001-09-29 03:00' - 타임스탬프 '2001-09-27 12:00' 간격 '1일 15:00:00'
* 900 * 간격 '1초' 간격 '00:15:00'
* 21 * 간격 '1일' 간격 '21일'
* 배정밀도 '3.5' * 간격 '1토토 꽁 머니' 간격 '03:30:00'
/ 간격 '1토토 꽁 머니' / 배정밀도 '1.5' 간격 '00:40:00'

표 9-28. 날짜/토토 꽁 머니 함수

토토 꽁 머니 반환 유형 설명 결과
나이(타임스탬프, 타임스탬프) 간격 인수를 빼서 a를 생성"상징적"단순한 일이 아닌 연도와 월을 사용한 결과 age(타임스탬프 '2001-04-10', 타임스탬프 '1957-06-13') 43년 9월 27일
나이(타임스탬프) 간격 다음에서 빼기현재_날짜(자정) 나이(타임스탬프 '1957-06-13') 43년 8개월 3일
시계_타임스탬프() 토토 꽁 머니대가 포함된 타임스탬프 현재 날짜 및 토토 꽁 머니(문 실행 중 변경); 참조섹션 9.9.4
현재_날짜 날짜 현재 날짜; 참조섹션 9.9.4
현재_토토 꽁 머니 토토 꽁 머니대 포함 토토 꽁 머니 현재 토토 꽁 머니; 참조섹션 9.9.4
현재_타임스탬프 토토 꽁 머니대가 포함된 타임스탬프 현재 날짜 및 토토 꽁 머니(현재 거래 시작); 참조섹션 9.9.4
date_part(텍스트, 타임스탬프) 배정밀도 하위 필드 가져오기(동등함추출); 참조섹션 9.9.1 date_part('토토 꽁 머니', 타임스탬프 '2001-02-16 20:38:40') 20
date_part(텍스트, 간격) 배정밀도 하위 필드 가져오기(동등함추출); 참조섹션 9.9.1 date_part('월', 간격 '2년 3개월') 3
date_trunc(텍스트, 타임스탬프) 타임스탬프 지정된 정밀도로 자릅니다. 또한 참조섹션 9.9.2 date_trunc('토토 꽁 머니', 타임스탬프 '2001-02-16 20:38:40') 2001-02-16 20:00:00
date_trunc(텍스트, 간격) 간격 지정된 정밀도로 자릅니다. 또한 참조섹션 9.9.2 date_trunc('토토 꽁 머니', 간격 '2일 3토토 꽁 머니 40분') 2일 03:00:00
추출(필드from타임스탬프) 배정밀도 하위 필드 가져오기; 참조섹션 9.9.1 추출(타임스탬프 '2001-02-16 20:38:40'의 토토 꽁 머니) 20
추출(필드from간격) 배정밀도 하위 필드 가져오기; 참조섹션 9.9.1 추출('2년 3개월' 간격의 월) 3
무한(날짜) 부울 유한 날짜 테스트(+/-무한대 아님) isfinite(날짜 '2001-02-16')
무한(타임스탬프) 부울 유한한 타임 스탬프 테스트(+/-무한대 아님) isfinite(타임스탬프 '2001-02-16 21:28:30')
무한(간격) 부울 유한 간격 테스트 무한(간격 '4토토 꽁 머니')
justify_days(간격) 간격 30일 기간이 월로 표시되도록 간격을 조정 justify_days(간격 '35일') 1월 5일
justify_hours(간격) 간격 24토토 꽁 머니 기간이 일로 표시되도록 간격을 조정 justify_hours(간격 '27토토 꽁 머니') 1일 03:00:00
justify_interval(간격) 간격 다음을 사용하여 간격 조정justify_days그리고justify_hours, 추가 부호 조정 포함 justify_interval(간격 '1개월 -1토토 꽁 머니') 29일 23:00:00
현지토토 꽁 머니 토토 꽁 머니 현재 토토 꽁 머니; 참조섹션 9.9.4
localtimestamp 타임스탬프 현재 날짜 및 토토 꽁 머니(현재 거래 시작); 참조섹션 9.9.4
make_date( int, int, int) 날짜 연도, 월, 일 필드에서 날짜 생성 make_date(2013, 7, 15) 2013-07-15
make_interval( int기본값 0,개월 int기본값 0, int기본값 0, int기본값 0,토토 꽁 머니 int기본값 0, int기본값 0, 배정밀도기본값 0.0) 간격 년, 월, 주, 일, 시, 분, 초 필드에서 간격 생성 make_interval(일 = 10) 10일
make_time(토토 꽁 머니 int, int, 배정밀도) 토토 꽁 머니 시, 분, 초 필드에서 토토 꽁 머니 생성 make_time(8, 15, 23.5) 08:15:23.5
make_timestamp( int, int, int, 토토 꽁 머니 int, int, 배정밀도) 타임스탬프 연도, 월, 일, 시, 분, 초 필드에서 타임스탬프 생성 make_timestamp(2013, 7, 15, 8, 15, 23.5) 2013-07-15 08:15:23.5
make_timestamptz( int, int, int, 토토 꽁 머니 int, int, 배정밀도, [ 토토 꽁 머니대 텍스트 ]) 토토 꽁 머니대가 포함된 타임스탬프 연도, 월, 일, 시, 분, 초 필드의 토토 꽁 머니대가 포함된 타임스탬프를 생성합니다. 언제토토 꽁 머니대지정되지 않은 경우 현재 토토 꽁 머니대가 사용됩니다. make_timestamptz(2013, 7, 15, 8, 15, 23.5) 2013-07-15 08:15:23.5+01
지금() 토토 꽁 머니대가 포함된 타임스탬프 현재 날짜 및 토토 꽁 머니(현재 거래 시작); 참조섹션 9.9.4
statement_timestamp() 토토 꽁 머니대가 포함된 타임스탬프 현재 날짜 및 토토 꽁 머니(현재 명령문의 시작); 참조섹션 9.9.4
timeofday() 텍스트 현재 날짜 및 토토 꽁 머니(예:시계_타임스탬프하지만텍스트문자열); 참조섹션 9.9.4
transaction_timestamp() 토토 꽁 머니대가 포함된 타임스탬프 현재 날짜 및 토토 꽁 머니(현재 거래 시작); 참조섹션 9.9.4

이러한 토토 꽁 머니 외에도 SQL겹침연산자가 지원됩니다:

(시작1, end1) 중복(시작2, end2)
(시작1, 길이1) 중복(시작2, 길이2)

이 표현식은 두 기간(종료점에 의해 정의됨)이 겹치면 참이 되고, 겹치지 않으면 거짓이 됩니다. 엔드포인트는 날짜, 토토 꽁 머니 또는 타임스탬프 쌍으로 지정할 수 있습니다. 또는 날짜, 토토 꽁 머니 또는 타임스탬프 뒤에 간격이 오는 형태로 표시됩니다. 한 쌍의 값이 제공되면 시작 또는 끝이 먼저 기록될 수 있습니다.겹침자동으로 쌍의 이전 값을 시작으로 사용합니다. 각 기간은 반 개방 간격을 나타내는 것으로 간주됩니다.시작 <= 토토 꽁 머니 < , 그렇지 않은 경우시작그리고동일한 경우 해당 단일 순간을 나타냅니다. 이는 예를 들어 공통 엔드포인트만 있는 두 기간이 겹치지 않음을 의미합니다.

SELECT (날짜 '2001-02-16', 날짜 '2001-12-21') 겹침
       (날짜 '2001-10-30', 날짜 '2002-10-30');결과:사실선택(날짜 '2001-02-16', 간격 '100일') 겹침
       (날짜 '2001-10-30', 날짜 '2002-10-30');결과:거짓SELECT (날짜 '2001-10-29', 날짜 '2001-10-30') 겹침
       (날짜 '2001-10-30', 날짜 '2001-10-31');결과:거짓선택 (날짜 '2001-10-30', 날짜 '2001-10-30') 겹침
       (날짜 '2001-10-30', 날짜 '2001-10-31');결과:

추가할 때간격값을 (또는 빼기간격값) a토토 꽁 머니대가 포함된 타임스탬프값, 일 구성요소는 날짜를 앞당기거나 줄입니다.토토 꽁 머니대가 포함된 타임스탬프표시된 일수만큼, 토토 꽁 머니은 동일하게 유지합니다. 일광 절약 토토 꽁 머니제 변경 시(세션 토토 꽁 머니대가 DST를 인식하는 토토 꽁 머니대로 설정된 경우) 이는 다음을 의미합니다.간격 '1일'반드시 같지는 않음간격 '24토토 꽁 머니'. 예를 들어 세션 토토 꽁 머니대가미국/덴버:

토토 꽁 머니대 '2005-04-02 12:00:00-07' + 간격 '1일'을 포함하는 타임스탬프 선택;결과:2005-04-03 12:00:00-06토토 꽁 머니대 '2005-04-02 12:00:00-07' + 간격 '24토토 꽁 머니'을 포함하는 타임스탬프 선택;결과:2005-04-03 13:00:00-06

이 일은 다음의 일광 절약 토토 꽁 머니 변경으로 인해 한 토토 꽁 머니이 건너뛰었기 때문에 발생합니다.2005-04-03 02:00:00토토 꽁 머니대미국/덴버.

다음 내용에는 모호함이 있을 수 있습니다.개월반환된 필드나이월마다 일수가 다르기 때문입니다.PostgreSQL의 접근 방식은 부분 월을 계산할 때 두 날짜 중 빠른 날짜의 월을 사용합니다. 예를 들어,나이('2004-06-01', '2004-04-30')4월을 사용하여 산출합니다1월 1일, May를 사용하면 결과가 나옵니다1월 2일5월은 31일인 반면 4월은 30일밖에 없기 때문입니다.

날짜와 타임스탬프를 빼는 것도 복잡할 수 있습니다. 뺄셈을 수행하는 개념적으로 간단한 방법 중 하나는 다음을 사용하여 각 값을 초 수로 변환하는 것입니다.추출(EPOCH FROM ...), 그런 다음 결과를 뺍니다. 이것은 수를 생성합니다두 값 사이. 이는 매월 일수, 토토 꽁 머니대 변경 및 일광 절약 토토 꽁 머니 조정을 조정합니다. 를 사용하여 날짜 또는 타임스탬프 값 빼기"-"연산자는 일수(24토토 꽁 머니)와 값 사이의 토토 꽁 머니/분/초를 반환하여 동일한 조정을 수행합니다.나이함수는 필드별 뺄셈을 수행한 다음 음수 필드 값을 조정하여 연도, 월, 일 및 시/분/초를 반환합니다. 다음 쿼리는 이러한 접근 방식의 차이점을 보여줍니다. 샘플 결과는토토 꽁 머니대 = '미국/동부'; 사용된 두 날짜 사이에 일광 절약 토토 꽁 머니제 변경이 있습니다.

추출 선택(EPOCH FROM 타임스탬프tz '2013-07-01 12:00:00') -
       EXTRACT(timestamptz '2013-03-01 12:00:00'의 EPOCH);결과:10537200SELECT (EXTRACT(EPOCH FROM 타임스탬프tz '2013-07-01 12:00:00') -
        추출(타임스탬프tz '2013-03-01 12:00:00'의 EPOCH))
        / 60 / 60 / 24;결과:121.958333333333SELECT 타임스탬프tz '2013-07-01 12:00:00' - 타임스탬프tz '2013-03-01 12:00:00';결과:121일 23:00:00SELECT age(timestamptz '2013-07-01 12:00:00', timestamptz '2013-03-01 12:00:00');결과:4개월

9.9.1. 추출, date_part

추출(필드발신출처)

추출함수는 날짜/토토 꽁 머니 값에서 연도 또는 토토 꽁 머니과 같은 하위 필드를 검색합니다.출처유형의 값 표현식이어야 합니다.타임스탬프, 토토 꽁 머니또는간격. (유형의 표현날짜다음으로 전송됨타임스탬프따라서 사용할 수도 있습니다.)필드은 소스 값에서 추출할 필드를 선택하는 식별자 또는 문자열입니다.추출함수는 유형의 값을 반환합니다.배정밀도. 다음은 유효한 필드 이름입니다.

세기

세기

추출 선택(타임스탬프 '2000-12-16 12:21:13'의 세기);결과:20추출 선택(타임스탬프 '2001-02-16 20:38:40'의 세기);결과:21

1세기는 서기 0001-01-01 00:00:00에 시작됩니다. 비록 당시 그들은 그것을 몰랐지만. 이 정의는 모든 그레고리력 국가에 적용됩니다. 0번째 세기는 없습니다. -1세기에서 1세기로 이동합니다. 이에 동의하지 않으시면 항의서를 다음 주소로 보내주십시오: Pope, Cathedral Saint-Peter of Roma, Vatican.

타임스탬프값, 일(월) 필드(1 - 31) ; 에 대한간격값, 일수

추출 선택(타임스탬프 '2001-02-16 20:38:40'의 날짜);결과:16추출 선택(간격 '40일 1분'의 날짜);결과:40
10년

연도 필드를 10으로 나눈 값

추출 선택(타임스탬프 '2001-02-16 20:38:40'에서 10년 후);결과:200
다우

요일은 일요일입니다(0) ~ 토요일(6)

추출 선택(타임스탬프의 다우 '2001-02-16 20:38:40');결과:5

참고하세요추출의 요일 번호 매기기가 해당 요일의 번호와 다릅니다.to_char(..., 'D')함수.

도이

연중일(1 - 365/366)

추출 선택(타임스탬프에서 DOY '2001-02-16 20:38:40');결과:47
에포크

토토 꽁 머니대가 포함된 타임스탬프값, 1970-01-01 00:00:00 UTC 이후의 초 수(그 이전 타임스탬프의 경우 음수); 에 대한날짜그리고타임스탬프값, 토토 꽁 머니대 또는 일광 절약 토토 꽁 머니 규칙에 관계없이 1970-01-01 00:00:00 이후 명목상 초 수입니다. 에 대한간격값, 간격의 총 초 수

추출 선택(토토 꽁 머니대가 '2001-02-16 20:38:40.12-08'인 타임스탬프의 에포크);결과:982384720.12추출 선택(타임스탬프 '2001-02-16 20:38:40.12'의 에포크);결과:982355920.12추출 선택('5일 3토토 꽁 머니' 간격의 에포크);결과:442800

당신은 에포크 값을 다시 a로 변환할 수 있습니다.토토 꽁 머니대가 포함된 타임스탬프함께to_timestamp:

_timestamp(982384720.12)로 선택;결과:2001-02-17 04:38:40.12+00

신청 시 주의하세요to_timestampa에서 추출된 시대로날짜또는타임스탬프값은 오해의 소지가 있는 결과를 생성할 수 있습니다. 결과는 원래 값이 UTC로 제공되었다고 효과적으로 가정하지만 그렇지 않을 수도 있습니다.

토토 꽁 머니

토토 꽁 머니 필드(0 - 23)

추출 선택(타임스탬프 '2001-02-16 20:38:40'으로부터의 토토 꽁 머니);결과:20
isodow

요일은 월요일(1) ~ 일요일(7)

추출 선택(타임스탬프의 ISODOW '2001-02-18 20:38:40');결과:7

이것은 다음과 동일합니다다우일요일 제외. 이는 다음과 일치합니다.ISO8601 요일 번호 매기기.

isoyear

ISO8601 날짜가 속하는 주 번호 지정 연도(간격에는 적용되지 않음)

추출 선택('2006-01-01' 날짜의 ISO 연도);결과:2005추출 선택(날짜 '2006-01-02'의 ISO연도);결과:2006

각각ISO8601 주 번호 지정 연도는 1월 4일이 포함된 주의 월요일로 시작하므로 1월 초 또는 12월 말에 해당ISO연도는 그레고리오력과 다를 수 있습니다. 참조자세한 내용은 필드를 참조하세요.

이 필드는 8.3 이전의 PostgreSQL 릴리스에서는 사용할 수 없습니다.

마이크로초

소수 부분을 포함한 초 필드에 1 000 000을 곱합니다. 여기에는 전체 초가 포함됩니다.

추출 선택('17:12:28.5' 토토 꽁 머니부터 마이크로초);결과:28500000
밀레니엄

천년기

추출 선택(타임스탬프 '2001-02-16 20:38:40'에서 밀레니엄');결과:3

1900년대는 두 번째 천년기에 속합니다. 세 번째 밀레니엄은 2001년 1월 1일에 시작되었습니다.

밀리초

소수 부분을 포함한 초 필드에 1000을 곱한 값입니다. 여기에는 전체 초가 포함됩니다.

추출 선택('17:12:28.5' 토토 꽁 머니부터 밀리초);결과:28500

분 필드(0 - 59)

추출 선택(타임스탬프 '2001-02-16 20:38:40'에서 1분 후);결과:38

타임스탬프값, 해당 연도 내의 월 수(1 - 12) ; 에 대한간격값, 개월 수, 모듈로 12(0 - 11)

추출 선택(타임스탬프 '2001-02-16 20:38:40'의 월);결과:2추출 선택('2년 3개월' 간격의 월);결과:3추출 선택('2년 13개월' 간격의 월);결과:1
분기

날짜가 속한 연도의 분기(1 - 4)

추출 선택(타임스탬프 '2001-02-16 20:38:40'의 분기);결과:1

소수 부분을 포함한 초 필드(0 - 59[1])

추출 선택(타임스탬프 '2001-02-16 20:38:40'에서 두 번째);결과:40추출 선택('17:12:28.5' 토토 꽁 머니으로부터 두 번째);결과:28.5
토토 꽁 머니대

UTC로부터의 토토 꽁 머니대 오프셋으로, 초 단위로 측정됩니다. 양수 값은 UTC 동쪽 토토 꽁 머니대에 해당하고, 음수 값은 UTC 서쪽 토토 꽁 머니대에 해당합니다. (기술적으로는,PostgreSQL사용UT1윤초는 처리되지 않기 때문입니다.)

timezone_hour

토토 꽁 머니대 오프셋의 토토 꽁 머니 구성요소

timezone_min

토토 꽁 머니대 오프셋의 분 구성요소

ISO8601주-연도의 주입니다. 정의에 따르면 ISO 주는 월요일에 시작되며, 연도의 첫 번째 주는 해당 연도의 1월 4일을 포함합니다. 즉, 한 해의 첫 번째 목요일은 해당 연도의 1주차에 속합니다.

ISO 주 번호 지정 시스템에서는 1월 초 날짜가 전년도의 52번째 또는 53번째 주에 속할 수 있고, 12월 말 날짜가 다음 연도 첫 번째 주에 포함될 수 있습니다. 예를 들어,2005-01-012004년 53번째 주의 일부이고2006-01-012005년 52번째 주의 일부입니다.2012-12-312013년 첫 주의 일부입니다. 다음을 사용하는 것이 좋습니다.isoyear필드와 함께일관된 결과를 얻으려면.

추출 선택(타임스탬프 '2001-02-16 20:38:40'의 주);결과:7

연도 필드입니다. 없다는 점을 명심하세요.0 AD그러므로 빼기BC년부터AD한 해를 조심스럽게 보내야 합니다.

추출 선택(타임스탬프 '2001-02-16 20:38:40'의 연도);결과:2001

추출함수는 주로 계산 처리를 위한 것입니다. 표시할 날짜/토토 꽁 머니 값의 형식을 지정하려면 다음을 참조하세요.PostgreSQL : 문서 : 9.5 : 사설 토토 사설 토토 사설 토토 사설 토토 기능.

date_part함수는 기존 함수를 모델로 합니다.앵그르에 해당SQL-표준 함수추출:

date_part('필드', 출처)

여기에 주의하세요필드매개변수는 이름이 아닌 문자열 값이어야 합니다. 에 대한 유효한 필드 이름날짜_부분다음과 같습니다추출.

SELECT 날짜_부분('일', TIMESTAMP '2001-02-16 20:38:40');결과:16SELECT date_part('토토 꽁 머니', INTERVAL '4토토 꽁 머니 3분');결과:4

9.9.2. date_trunc

함수date_trunc개념적으로 다음과 유사합니다.트렁크숫자에 대한 함수입니다.

date_trunc('필드', 출처)

출처유형의 값 표현식입니다타임스탬프또는간격. (유형 값날짜그리고토토 꽁 머니다음으로 자동 전송됩니다.타임스탬프또는간격각각.)필드입력 값을 자를 정밀도를 선택합니다. 반환 값은 다음 유형입니다.타임스탬프또는간격선택한 필드보다 중요하지 않은 모든 필드는 0(또는 일과 월의 경우 1)으로 설정됩니다.

유효한 값필드다음은:

마이크로초
밀리초
토토 꽁 머니
분기
10년
세기
밀레니엄

예:

SELECT date_trunc('토토 꽁 머니', TIMESTAMP '2001-02-16 20:38:40');결과:2001-02-16 20:00:00SELECT date_trunc('연도', TIMESTAMP '2001-02-16 20:38:40');결과:2001-01-01 00:00:00

9.9.3. 토토 꽁 머니대

토토 꽁 머니대타임스탬프를 변환합니다토토 꽁 머니대 없음타임스탬프에서/까지토토 꽁 머니대 포함토토 꽁 머니값을 다른 토토 꽁 머니대에 적용합니다.표 9-29변종을 보여줍니다.

표 9-29.토토 꽁 머니대변형

표현 반환 유형 설명
토토 꽁 머니대가 없는 타임스탬프토토 꽁 머니대영역 토토 꽁 머니대가 포함된 타임스탬프 주어진 타임 스탬프 처리토토 꽁 머니대 없음지정된 토토 꽁 머니대에 위치함
토토 꽁 머니대가 포함된 타임스탬프토토 꽁 머니대영역 토토 꽁 머니대가 없는 타임스탬프 주어진 타임스탬프를 변환토토 꽁 머니대 포함토토 꽁 머니대 지정 없이 새 토토 꽁 머니대로
토토 꽁 머니대 포함 토토 꽁 머니토토 꽁 머니대영역 토토 꽁 머니대 포함 토토 꽁 머니 주어진 토토 꽁 머니을 변환토토 꽁 머니대 포함새 토토 꽁 머니대로

이 표현식에서는 원하는 토토 꽁 머니대영역텍스트 문자열(예:'미국/로스앤젤레스') 또는 간격(예:간격 '-08:00'). 텍스트의 경우 토토 꽁 머니대 이름은 다음에 설명된 방법 중 하나로 지정할 수 있습니다.섹션 8.5.3.

예(현지 토토 꽁 머니대가 다음과 같다고 가정미국/Los_Angeles):

토토 꽁 머니대 'America/Denver'에서 타임스탬프 '2001-02-16 20:38:40' 선택;결과:2001-02-16 19:38:40-08토토 꽁 머니대 '2001-02-16 20:38:40-05' AT 토토 꽁 머니대 'America/Denver'를 사용하여 타임스탬프 선택;결과:2001-02-16 18:38:40타임스탬프 '2001-02-16 20:38:40-05' AT 타임존 '아시아/도쿄' AT 타임존 '아메리카/시카고';결과:2001-02-16 05:38:40

첫 번째 예에서는 토토 꽁 머니대가 부족한 값에 토토 꽁 머니대를 추가하고 현재 값을 사용하여 값을 표시합니다.토토 꽁 머니대설정. 두 번째 예에서는 토토 꽁 머니대 값이 포함된 타임스탬프를 지정된 토토 꽁 머니대로 이동하고 토토 꽁 머니대가 없는 값을 반환합니다. 이를 통해 현재와 다른 값을 저장하고 표시할 수 있습니다.토토 꽁 머니대설정. 세 번째 예에서는 도쿄 토토 꽁 머니을 시카고 토토 꽁 머니으로 변환합니다. 변환 중토토 꽁 머니다른 토토 꽁 머니대에 대한 값은 날짜가 제공되지 않았기 때문에 현재 활성화된 토토 꽁 머니대 규칙을 사용합니다.

함수토토 꽁 머니대(영역, 타임스탬프)SQL 준수 구문과 동일합니다.타임스탬프토토 꽁 머니대영역.

9.9.4. 현재 날짜/토토 꽁 머니

포스트그레SQL현재 날짜 및 토토 꽁 머니과 관련된 값을 반환하는 다양한 함수를 제공합니다. 이러한 SQL 표준 함수는 모두 현재 트랜잭션의 시작 토토 꽁 머니을 기준으로 값을 반환합니다.

CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME(정밀도)
CURRENT_TIMESTAMP(정밀도)
현지토토 꽁 머니
현지타임스탬프
현지토토 꽁 머니(정밀도)
현지타임스탬프(정밀도)

CURRENT_TIME그리고CURRENT_TIMESTAMP토토 꽁 머니대로 값을 전달합니다.현지토토 꽁 머니그리고LOCALTIMESTAMP토토 꽁 머니대 없이 값을 전달합니다.

CURRENT_TIME, CURRENT_TIMESTAMP, 현지토토 꽁 머니현지타임스탬프선택적으로 정밀도 매개변수를 취할 수 있으며, 이로 인해 결과는 초 필드에서 해당 소수 자릿수로 반올림됩니다. 정밀도 매개변수가 없으면 결과는 사용 가능한 전체 정밀도로 제공됩니다.

일부 예:

현재_토토 꽁 머니 선택;결과:14:39:53.662522-05현재_날짜 선택;결과:2001-12-23현재_TIMESTAMP 선택;결과:2001-12-23 14:39:53.662522-05CURRENT_TIMESTAMP(2) 선택;결과:2001-12-23 14:39:53.66-05현지 타임스탬프 선택;결과:2001-12-23 14:39:53.662522

이 함수는 현재 트랜잭션의 시작 토토 꽁 머니을 반환하므로 해당 값은 트랜잭션 중에 변경되지 않습니다. 이는 토토 꽁 머니으로 간주됩니다. 단일 트랜잭션이 일관된 개념을 가질 수 있도록 하는 것이 목적입니다."현재"토토 꽁 머니, 동일한 트랜잭션 내의 여러 수정 사항이 동일한 타임스탬프를 갖도록 합니다.

참고:다른 데이터베이스 시스템에서는 이러한 값을 더 자주 높일 수 있습니다.

PostgreSQL또한 현재 명령문의 시작 토토 꽁 머니과 함수가 호출되는 순간의 실제 현재 토토 꽁 머니을 반환하는 함수를 제공합니다. 비SQL 표준 토토 꽁 머니 함수의 전체 목록은 다음과 같습니다.

transaction_timestamp()
문_타임스탬프()
시계_타임스탬프()
토토 꽁 머니()
지금()

transaction_timestamp()다음과 동일함CURRENT_TIMESTAMP, 그러나 반환되는 내용을 명확하게 반영하기 위해 이름이 지정되었습니다.statement_timestamp()현재 명령문의 시작 토토 꽁 머니(구체적으로는 클라이언트로부터 최신 명령 메시지를 받은 토토 꽁 머니)을 반환합니다.statement_timestamp()그리고transaction_timestamp()트랜잭션의 첫 번째 명령 중에는 동일한 값을 반환하지만 후속 명령에서는 다를 수 있습니다.시계_타임스탬프()실제 현재 토토 꽁 머니을 반환하므로 단일 SQL 명령 내에서도 해당 값이 변경됩니다.timeofday()역사적입니다PostgreSQL함수. 좋아요시계_타임스탬프(), 실제 현재 토토 꽁 머니을 반환하지만 형식이 지정된 형식으로 반환됩니다.텍스트a 대신 문자열토토 꽁 머니대가 포함된 타임스탬프값.지금()전통적인 것입니다PostgreSQL다음과 동일함transaction_timestamp().

모든 날짜/토토 꽁 머니 데이터 유형은 특수 리터럴 값도 허용합니다.지금현재 날짜와 토토 꽁 머니을 지정합니다(역시 트랜잭션 시작 토토 꽁 머니으로 해석됨). 따라서 다음 세 가지 모두 동일한 결과를 반환합니다.

현재_TIMESTAMP 선택;
지금 선택();
타임스탬프 '지금' 선택;  -- 아래 팁을 참조하세요.

팁:나중에 평가할 값을 지정할 때 세 번째 형식을 사용하지 마십시오(예: a기본값테이블 열에 대한 절입니다. 시스템이 변환됩니다.지금타임스탬프상수가 구문 분석되자마자 기본값이 필요할 때 테이블 생성 토토 꽁 머니이 사용됩니다! 처음 두 양식은 함수 호출이기 때문에 기본값이 사용될 때까지 평가되지 않습니다. 따라서 행 삽입 토토 꽁 머니을 기본값으로 설정하는 원하는 동작을 제공합니다. (또한 참조섹션 8.5.1.4.)

9.9.5. 실행 지연

서버 프로세스의 실행을 지연시키기 위해 다음 토토 꽁 머니을 사용할 수 있습니다:

pg_sleep()
pg_sleep_for(간격)
pg_sleep_until(토토 꽁 머니대가 포함된 타임스탬프)

pg_sleep다음까지 현재 세션의 프로세스를 휴면 상태로 만듭니다.초가 경과했습니다.유형의 값입니다배정밀도, 따라서 소수점 이하의 지연을 지정할 수 있습니다.pg_sleep_for는 다음과 같이 지정된 긴 수면 토토 꽁 머니을 위한 편의 토토 꽁 머니입니다.간격. pg_sleep_until은 특정 기상 토토 꽁 머니을 원할 때 사용하는 편의 토토 꽁 머니입니다. 예를 들면:

SELECT pg_sleep(1.5);
SELECT pg_sleep_for('5분');
SELECT pg_sleep_until('내일 03:00');

참고:휴면 간격의 효과적인 해결 방법은 플랫폼에 따라 다릅니다. 0.01초가 일반적인 값입니다. 수면 지연은 최소한 지정된 기간만큼 길어집니다. 서버 부하 등의 요인에 따라 더 길어질 수도 있습니다. 특히,pg_sleep_until정확하게 지정된 토토 꽁 머니에 깨어날 수는 없지만 더 일찍 깨어나지는 않습니다.

경고

호출 시 세션이 필요 이상으로 많은 잠금을 보유하지 않는지 확인하세요pg_sleep또는 그 변형. 그렇지 않으면 다른 세션에서 수면 프로세스를 기다려야 하여 전체 시스템 속도가 느려질 수 있습니다.

참고

[1]

60 윤초가 운영 체제에 의해 구현된 경우