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

9.8. 날짜/스포츠 토토 함수 및 운영자

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

아래에 설명된 모든 함수와 연산자는 다음을 수행합니다.스포츠 토토또는타임스탬프입력은 실제로 두 가지 변형으로 제공됩니다. 하나는 소요됩니다.스포츠 토토대 포함 스포츠 토토또는타임스탬프 스포츠 토토대 포함, 그리고 걸리는 것스포츠 토토 스포츠 토토대 없음또는스포츠 토토이 없는 타임스탬프 구역. 간결하게 하기 위해 이러한 변형은 표시되지 않습니다. 별도로.

표 9-25. 날짜/스포츠 토토 연산자

운영자 결과
+ 날짜 '2001-09-28' + 정수 '7' 날짜 '2001-10-05'
+ 날짜 '2001-09-28' + 간격 '1 스포츠 토토' 타임스탬프 '2001-09-28 01:00'
+ 날짜 '2001-09-28' + 스포츠 토토 '03:00' 타임스탬프 '2001-09-28 03:00'
+ 스포츠 토토 '03:00' + 날짜 '2001-09-28' 타임스탬프 '2001-09-28 03:00'
+ 간격 '1일' + 간격 '1 스포츠 토토' 간격 '1일 01:00'
+ 타임스탬프 '2001-09-28 01:00' + 간격 '23스포츠 토토' 타임스탬프 '2001-09-29 00:00'
+ 스포츠 토토 '01:00' + 간격 '3 스포츠 토토' 스포츠 토토 '04:00'
+ 간격 '3스포츠 토토' + 스포츠 토토 '01:00' 스포츠 토토 '04:00'
- - 간격 '23스포츠 토토' 간격 '-23:00'
- 날짜 '2001-10-01' - 날짜 '2001-09-28' 정수 '3'
- 날짜 '2001-10-01' - 정수 '7' 날짜 '2001-09-24'
- 날짜 '2001-09-28' - 간격 '1 스포츠 토토' 타임스탬프 '2001-09-27 23:00'
- 스포츠 토토 '05:00' - 스포츠 토토 '03:00' 간격 '02:00'
- 스포츠 토토 '05:00' - 간격 '2 스포츠 토토' 스포츠 토토 '03:00'
- 타임스탬프 '2001-09-28 23:00' - 간격 '23스포츠 토토' 타임스탬프 '2001-09-28 00:00'
- 간격 '1일' - 간격 '1 스포츠 토토' 간격 '23:00'
- 간격 '2스포츠 토토' - 스포츠 토토 '05:00' 스포츠 토토 '03:00'
- 타임스탬프 '2001-09-29 03:00' - 타임스탬프 '2001-09-27 12:00' 간격 '1일 15:00'
* 배정밀도 '3.5' * 간격 '1스포츠 토토' 간격 '03:30'
* 간격 '1스포츠 토토' * double 정밀도 '3.5' 간격 '03:30'
/ 간격 '1스포츠 토토'/더블 정밀도 '1.5' 간격 '00:40'

표 9-26. 날짜/스포츠 토토 함수

기능 반환 유형 설명 결과
나이(타임스탬프) 간격 오늘부터 빼기 나이(타임스탬프 '1957-06-13') 43년 8개월 3일
나이(타임스탬프, 타임스탬프) 간격 인수 빼기 age('2001-04-10', 타임스탬프 '1957-06-13') 43년 9월 27일
현재_날짜 날짜 오늘 날짜; 참조섹션 9.8.4
현재_스포츠 토토 스포츠 토토대 포함 스포츠 토토 스포츠 토토; 참조섹션 9.8.4
현재_타임스탬프 스포츠 토토대가 포함된 타임스탬프 날짜 및 스포츠 토토; 참조섹션 9.8.4
date_part(텍스트, 타임스탬프) 배정밀도 하위 필드 가져오기(동등함추출); 참조섹션 9.8.1 date_part('스포츠 토토', 타임스탬프 '2001-02-16 20:38:40') 20
date_part(텍스트, 간격) 배정밀도 하위 필드 가져오기(동등함추출); 참조섹션 9.8.1 date_part('월', 간격 '2 년 3개월') 3
date_trunc(텍스트, 타임스탬프) 타임스탬프 지정된 정밀도로 자릅니다. 또한 참조섹션 9.8.2 date_trunc('스포츠 토토', 타임스탬프 '2001-02-16 20:38:40') 2001-02-16 20:00:00
추출(필드from타임스탬프) 배정밀도 하위 필드 가져오기; 참조섹션 9.8.1 추출(타임스탬프에서 스포츠 토토 '2001-02-16 20:38:40') 20
추출(필드from간격) 배정밀도 하위 필드 가져오기; 참조섹션 9.8.1 추출('2 간격의 월 년 3개월') 3
무한(타임스탬프) 부울 유한한 타임 스탬프 테스트(다음과 같지 않음) 무한대) isfinite(타임스탬프 '2001-02-16 21:28:30')
무한(간격) 부울 유한 간격 테스트 무한(간격 '4 스포츠 토토')
현지스포츠 토토 스포츠 토토 스포츠 토토; 참조섹션 9.8.4
localtimestamp 타임스탬프 날짜와 스포츠 토토; 참조섹션 9.8.4
지금() 스포츠 토토대가 포함된 타임스탬프 현재 날짜 및 스포츠 토토(동등함현재_타임스탬프); 참조섹션 9.8.4
timeofday() 텍스트 현재 날짜 및 스포츠 토토; 참조섹션 9.8.4

이러한 기능 외에도 SQL겹침연산자가 지원됩니다:

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

이 표현식은 두 기간(다음으로 정의됨)일 때 참이 됩니다. 끝점)이 겹치고, 겹치지 않으면 false입니다. 는 엔드포인트는 날짜, 스포츠 토토 또는 스포츠 토토의 쌍으로 지정할 수 있습니다. 우표; 또는 날짜, 스포츠 토토 또는 타임스탬프 다음에 간격.

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

9.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-08'인 타임스탬프의 에포크);결과:982384720추출 선택('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
스포츠 토토대

UTC로부터의 스포츠 토토대 오프셋으로, 초 단위로 측정됩니다. 양수 값은 UTC 동쪽 스포츠 토토대에 해당합니다. UTC 서쪽 지역에는 음수 값이 적용됩니다.

timezone_hour

스포츠 토토대 오프셋의 스포츠 토토 구성요소

timezone_min

스포츠 토토대 오프셋의 분 구성요소

해당 날짜가 속한 주의 수입니다. 정의에 따르면 (ISO8601), 연도의 첫 번째 주에는 다음 날짜의 1월 4일이 포함됩니다. 그 해. (그만큼ISO-8601주는 월요일에 시작됩니다.) 즉, 일년 중 첫 번째 목요일은 1번째 주에 속합니다. 그 해. (for타임스탬프값 만)

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

연도 필드

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

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

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

date_part('필드', 출처)

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

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

9.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:00SELECT date_trunc('연도', TIMESTAMP '2001-02-16 20:38:40');결과:2001-01-01 00:00:00

9.8.3. AT 스포츠 토토대

스포츠 토토대에구조가 허용합니다 타임스탬프를 다른 스포츠 토토대로 변환합니다.테이블 9-27변종을 보여줍니다.

표 9-27.스포츠 토토에 구역변형

표현 반환 유형 설명
타임스탬프 스포츠 토토대 없음스포츠 토토대영역 스포츠 토토대가 포함된 타임스탬프 주어진 스포츠 토토대의 현지 스포츠 토토을 UTC로 변환
타임스탬프 스포츠 토토대스포츠 토토대영역 스포츠 토토이 없는 타임스탬프 구역 UTC를 특정 스포츠 토토대의 현지 스포츠 토토으로 변환
스포츠 토토과 스포츠 토토 구역스포츠 토토대영역 스포츠 토토대 포함 스포츠 토토 스포츠 토토대에 따른 현지 스포츠 토토 변환

이 표현에서 원하는 스포츠 토토대영역텍스트로 지정할 수 있습니다. 문자열(예:'PST') 또는 간격으로 (예:간격 '-08:00').

예(현지 스포츠 토토대가 다음과 같다고 가정PST8PDT):

스포츠 토토대 'MST'에서 타임스탬프 '2001-02-16 20:38:40' 선택;결과:2001-02-16 19:38:40-08'MST' 스포츠 토토대에 '2001-02-16 20:38:40-05' 스포츠 토토대가 포함된 타임스탬프 선택;결과:2001-02-16 18:38:40

첫 번째 예는 영역 없는 타임 스탬프를 취하고 이를 MST 스포츠 토토(UTC-7)으로 해석하여 UTC 타임스탬프를 생성합니다. 그런 다음 표시를 위해 PST(UTC-8)로 회전됩니다. 두 번째 예에서는 EST(UTC-5)로 지정된 타임스탬프를 사용하고 MST(UTC-7) 현지 스포츠 토토으로 변환합니다.

함수스포츠 토토대(영역, 타임스탬프)은 다음과 같습니다. SQL 준수 구문타임스탬프스포츠 토토대영역.

9.8.4. 현재 날짜/스포츠 토토

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

CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_TIME(정밀도)
CURRENT_TIMESTAMP(정밀도)
현지 스포츠 토토
현지타임스탬프
현지스포츠 토토(정밀도)
현지타임스탬프(정밀도 )

CURRENT_TIME그리고CURRENT_TIMESTAMP스포츠 토토에 따른 가치 전달 영역;현지스포츠 토토그리고현지타임스탬프스포츠 토토 없이 가치를 전달하다 구역.

CURRENT_TIME, CURRENT_TIMESTAMP, 현지스포츠 토토현지타임스탬프선택적으로 결과를 반올림하는 정밀도 매개변수 초 필드에 그만큼의 소수 자릿수가 있습니다. 없이 정밀도 매개변수, 결과는 사용 가능한 전체 값으로 제공됩니다. 정밀도.

참고:이전포스트그레SQL7.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현지 스포츠 토토 스탬프 선택;결과:2001-12-23 14:39:53.662522

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

기능도 있습니다timeofday(), 역사적인 이유로 를 반환합니다.텍스트a 대신 문자열타임스탬프값:

스포츠 토토 선택();결과:2월 17일 토요일 19:07:32.000126 2001 EST

그것을 아는 것이 중요합니다.CURRENT_TIMESTAMP및 관련 기능 현재 트랜잭션의 시작 스포츠 토토을 반환합니다. 그들의 가치 거래 중에는 변경하지 마십시오. 이는 다음으로 간주됩니다. 기능: 의도는 단일 트랜잭션이 의 일관된 개념"현재"스포츠 토토, 동일한 내에서 여러 수정이 가능하도록 거래에는 동일한 타임스탬프가 있습니다.timeofday()벽시계 스포츠 토토을 반환하고 거래 중에 진행됩니다.

참고:다른 데이터베이스 시스템이 이러한 기능을 향상시킬 수 있습니다. 더 자주 가치를 부여합니다.

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

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

참고:다음 경우에 세 번째 양식을 사용하고 싶지 않습니다. a 지정기본값절 while 테이블을 만드는 중입니다. 시스템이 변환됩니다지금타임스탬프다음과 같이 상수가 구문 분석되자마자 기본값이 값이 필요하면 테이블 생성 스포츠 토토은 사용되었습니다! 처음 두 양식은 다음이 완료될 때까지 평가되지 않습니다. 함수 호출이기 때문에 기본값이 사용됩니다. 따라서 그들은 기본적으로 원하는 행동을 제공할 것입니다. 행 삽입 스포츠 토토.

참고

[1]

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