표 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');결과:거짓
추출, date_part추출(필드발신출처)
그추출함수 검색
연도 또는 스포츠 토토과 같은 날짜/스포츠 토토 값의 하위 필드입니다.출처값 표현식입니다.
유형으로 평가됩니다.타임스탬프또는간격. (유형의 표현날짜또는스포츠 토토다음으로 전송됩니다타임스탬프따라서 다음과 같이 사용될 수 있습니다.
음.)필드식별자입니다
또는 소스에서 추출할 필드를 선택하는 문자열
가치.추출함수
유형의 값을 반환합니다.배정밀도.
다음은 유효한 필드 이름입니다.
연도 필드를 100으로 나눈 값
추출 선택(타임스탬프 '2001-02-16 20:38:40'의 세기);결과:20
세기 필드의 결과는 단순히 다음과 같습니다. 일반적인 방식이 아닌 100으로 나눈 연도 필드 대부분의 연도를 1900년대로 두는 정의 20세기.
일(월) 필드(1 - 31)
추출물 선택(타임스탬프 '2001-02-16 20:38:40'의 날짜);결과:16
연도 필드를 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 서쪽 지역에는 음수 값이 적용됩니다.
스포츠 토토대 오프셋의 스포츠 토토 구성요소
스포츠 토토대 오프셋의 분 구성요소
해당 날짜가 속한 주의 수입니다. 정의에 따르면 (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
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-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 준수 구문타임스탬프스포츠 토토대영역.
현재 값을 얻기 위해 다음 기능을 사용할 수 있습니다. 날짜 및/또는 스포츠 토토:
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 윤초가 연산에 의해 구현된 경우 시스템 |