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

4.8. 날짜/토토 결과 함수 및 운영자

표 4-17날짜/토토 결과 값 처리에 사용할 수 있는 함수를 표시합니다.테이블 4-16기본 산술 동작을 설명합니다. 연산자(+, *등). 서식 지정 기능은 다음을 참조하세요.토토 핫 PostgreSQL : 문서 : 7.2 : 데이터 유형 서식 함수. 당신은해야 날짜/토토 결과 데이터에 대한 배경 정보를 잘 알고 있어야 합니다. 유형(참조PostgreSQL : 문서 : 7.2 : 날짜/토토 꽁 머니 유형).

아래에 설명된 날짜/토토 결과 연산자는 다음과 같이 유사하게 작동합니다. 토토 결과대가 포함된 유형과 포함되지 않은 유형입니다.

표 4-16. 날짜/토토 결과 연산자

이름 결과
+ 타임스탬프 '2001-09-28 01:00' + 간격'23토토 결과' 타임스탬프 '2001-09-29 00:00'
+ 날짜 '2001-09-28' + 간격'1토토 결과' 타임스탬프 '2001-09-28 01:00'
+ 토토 결과 '01:00' + 간격'3토토 결과' 토토 결과 '04:00'
- 타임스탬프 '2001-09-28 23:00' - 간격'23토토 결과' 타임스탬프 '2001-09-28'
- 날짜 '2001-09-28' - 간격'1토토 결과' 타임스탬프 '2001-09-27 23:00'
- 토토 결과 '05:00' - 간격'2토토 결과' 토토 결과 '03:00'
- 간격'2토토 결과' -토토 결과 '05:00' 토토 결과 '03:00:00'
* 간격'1토토 결과' *int '3' 간격 '03:00'
/ 간격'1토토 결과' /int '3' 간격 '00:20'

날짜/토토 결과 함수는 아래에 요약되어 있습니다. 자세한 내용은 후속 섹션에서 확인하세요.

표 4-17. 날짜/토토 결과 함수

이름 반환 유형 설명 결과
나이(타임스탬프) 간격 오늘부터 빼기 나이(타임스탬프 '1957-06-13') 43년 8개월 3일
나이(타임스탬프, 타임스탬프) 간격 인수 빼기 age('2001-04-10', 타임스탬프 '1957-06-13') 43년 9월 27일
현재_날짜 날짜 오늘 날짜; 참조아래
현재_토토 결과 토토 결과 토토 결과; 참조아래
현재_타임스탬프 타임스탬프 날짜 및 토토 결과; 참조아래
date_part(텍스트, 타임스탬프) 배정밀도 하위 필드 가져오기(동등함추출); 또한 참조아래 date_part('토토 결과', 타임스탬프 '2001-02-16 20:38:40') 20
date_part(텍스트, 간격) 배정밀도 하위 필드 가져오기(동등함추출); 또한 참조아래 date_part('월', 간격 '2 년 3개월') 3
date_trunc(텍스트, 타임스탬프) 타임스탬프 지정된 정밀도로 자릅니다. 또한 참조아래 date_trunc('토토 결과', 타임스탬프 '2001-02-16 20:38:40') 2001-02-16 20:00:00+00
추출(필드from타임스탬프) 배정밀도 하위 필드 가져오기; 또한 참조아래 추출(타임스탬프에서 토토 결과 '2001-02-16 20:38:40') 20
추출(필드from간격) 배정밀도 하위 필드 가져오기; 또한 참조아래 추출(간격 '2의 월 년 3개월') 3
무한(타임스탬프) 부울 유한한 타임스탬프에 대한 테스트(유효하지 않거나 유효하지 않음) 무한대) isfinite(타임스탬프 '2001-02-16 21:28:30') 사실
무한(간격) 부울 유한 간격 테스트 무한(간격 '4 토토 결과')
지금() 타임스탬프 현재 날짜 및 토토 결과(동등함현재_타임스탬프); 참조아래
timeofday() 텍스트 현재 날짜 및 토토 결과; 참조아래 timeofday() 수 2월 21일 17:01:13.000126 2001 동부 표준시
타임스탬프(날짜) 타임스탬프 날짜타임스탬프 타임스탬프(날짜 '2000-12-25') 2000-12-25 00:00:00
타임스탬프(날짜, 토토 결과) 타임스탬프 날짜그리고토토 결과타임스탬프 타임스탬프(날짜 '1998-02-24',토토 결과 '23:07') 1998-02-24 23:07:00

4.8.1. 추출, date_part

추출(필드발신출처)

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

세기

연도 필드를 100으로 나눈 값

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

세기 필드의 결과는 단순히 다음과 같습니다. 일반적인 방식이 아닌 100으로 나눈 연도 필드 대부분의 연도를 1900년대에 두는 정의 20세기.

일(월) 필드(1 - 31)

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

연도 필드를 10으로 나눈 값

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

요일(0 - 6; 일요일은 0)(for타임스탬프값만)

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

연중 일(1 - 365/366)(for타임스탬프값만)

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

날짜그리고타임스탬프값, 이후 경과된 토토 결과(초) 1970-01-01 00:00:00-00 (결과가 부정적일 수 있습니다.); 에 대한간격값, 총 개수 간격의 초

추출 선택(타임스탬프 '2001-02-16 20:38:40'의 에포크);결과:982352320추출 선택('5일 3토토 결과' 간격의 에포크);결과:442800
토토 결과

토토 결과 필드(0 - 23)

추출 선택(타임스탬프 '2001-02-16 20:38:40'으로부터의 토토 결과);결과:20
마이크로초

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

추출 선택('17:12:28.5' 토토 결과부터 밀리초);결과:28500000
밀레니엄

연도 필드를 1000으로 나눈 값

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

밀레니엄 필드의 결과는 다음과 같습니다. 단순히 연도 필드를 1000으로 나눈 것이지, 1900년대를 1900년대로 보는 전통적인 정의 두 번째 천년.

밀리초

소수 부분을 포함한 초 필드는 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) (for타임스탬프값만)

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

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

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

토토 결과대 오프셋의 토토 결과 구성요소입니다.

timezone_min

토토 결과대 오프셋의 분 구성요소입니다.

A로부터타임스탬프값, 해당 날짜가 해당 연도의 몇 번째 주인지 계산합니다. 에 있습니다. 정의에 따르면 (ISO8601), 한 해의 첫 번째 주 그 해 1월 4일을 포함합니다. (그ISO주는 월요일에 시작됩니다.) 기타 즉, 일년 중 첫 번째 목요일은 그 첫 번째 주에 있습니다. 년.

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

연도 필드

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

추출함수는 주로 계산 처리를 위한 것입니다. 서식을 지정하려면 표시할 날짜/토토 결과 값은 다음을 참조하세요.섹션 4.7.

date_part함수는 전통적인 방식을 모델로 함앵그르에 해당SQL-기능추출:

date_part('필드', 출처)

여기에 주의하세요필드값은 문자열이어야 합니다. 에 대한 유효한 필드 값date_part다음과 동일합니다추출.

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

4.8.2. date_trunc

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

date_trunc('필드', 출처)

출처값 표현식입니다. 유형타임스탬프(유형 값날짜그리고토토 결과있습니다 자동으로 전송).필드타임스탬프 값을 자를 정밀도를 선택합니다. 반환 값은 다음 유형입니다.타임스탬프선택한 필드보다 작은 모든 필드는 0으로 설정됩니다. (또는 일과 월에 대해 하나).

다음에 대한 유효한 값필드다음은:

마이크로초
밀리초
토토 결과
10년
세기
밀레니엄
SELECT date_trunc('토토 결과', TIMESTAMP '2001-02-16 20:38:40');결과:2001-02-16 20:00:00+00SELECT date_trunc('연도', TIMESTAMP '2001-02-16 20:38:40');결과:2001-01-01 00:00:00+00

4.8.3. 현재 날짜/토토 결과

현재 값을 얻기 위해 다음 기능을 사용할 수 있습니다. 날짜 및/또는 토토 결과:

CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME(정밀도)
CURRENT_TIMESTAMP(정밀도 )

CURRENT_TIME그리고CURRENT_TIMESTAMP선택적으로 결과를 반올림하는 정밀도 매개변수 그 많은 분수. 정밀도 매개변수가 없으면 결과는 사용 가능한 전체 정밀도로 제공됩니다.

참고:이전PostgreSQL7.2, 정밀도 매개변수가 구현되지 않았으며 결과는 항상 정수 초로 제공됩니다.

참고:SQL99표준에는 다음 기능이 필요합니다 정밀도가 없는 한 괄호 없이 쓴다. 매개변수가 제공됩니다. 현재PostgreSQL7.2, 빈 쌍 괄호를 쓸 수 있지만 이는 더 이상 사용되지 않으며 향후 릴리스에서는 제거될 예정입니다.

현재_토토 결과 선택;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

함수지금()이것은 전통적PostgreSQL동등함CURRENT_TIMESTAMP.

또한 있습니다timeofday(), 역사적인 이유로 인해 대신 텍스트 문자열을 반환합니다. 에타임스탬프값:

SELECT timeofday();
 2월 17일 토요일 19:07:32.000126 2001 EST

그것을 깨닫는 것이 매우 중요합니다.CURRENT_TIMESTAMP및 관련 기능 모두 현재 트랜잭션이 시작된 시점의 토토 결과을 반환합니다. 트랜잭션이 실행되는 동안 해당 값은 증가하지 않습니다. 하지만timeofday()반환 실제 현재 토토 결과입니다.

모든 날짜/토토 결과 데이터 유형은 특수 리터럴도 허용합니다. 값지금현재 날짜를 지정하려면 그리고 토토 결과. 따라서 다음 세 가지 모두 동일한 결과를 반환합니다. 결과:

현재_TIMESTAMP 선택;
지금 선택();
타임스탬프 '지금' 선택;

참고:당신은 다음과 같은 경우에 세 번째 형식을 사용하고 싶지 않습니다. 테이블을 생성하는 동안 DEFAULT 값을 지정합니다. 는 시스템이 변환됩니다지금타임스탬프상수가 다음과 같자마자 기본값이 필요할 때 토토 결과이 테이블 생성이 사용됩니다! 처음 두 가지 형태 기본값이 사용될 때까지 평가되지 않습니다. 함수 호출이기 때문입니다. 따라서 그들은 줄 것입니다 행의 토토 결과을 기본으로 하는 원하는 동작 삽입.

참고

[1]

60 윤초가 연산에 의해 구현된 경우 시스템