표 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 |
추출, date_part추출(필드발신출처)
그추출함수 검색
연도 또는 토토 결과과 같은 날짜/토토 결과 값의 하위 필드입니다.출처값 표현식입니다.
유형으로 평가됩니다.타임스탬프또는간격. (유형의 표현날짜또는토토 결과다음으로 전송됩니다타임스탬프따라서 다음과 같이 사용될 수 있습니다.
음.)필드식별자입니다.
또는 소스에서 추출할 필드를 선택하는 문자열
가치.추출함수
유형의 값을 반환합니다.배정밀도.
다음은 유효한 값입니다.
연도 필드를 100으로 나눈 값
세기 필드의 결과는 단순히 다음과 같습니다. 일반적인 방식이 아닌 100으로 나눈 연도 필드 대부분의 연도를 1900년대에 두는 정의 20세기.
일(월) 필드(1 - 31)
연도 필드를 10으로 나눈 값
요일(0 - 6; 일요일은 0)(for타임스탬프값만)
연중 일(1 - 365/366)(for타임스탬프값만)
용날짜그리고타임스탬프값, 이후 경과된 토토 결과(초) 1970-01-01 00:00:00-00 (결과가 부정적일 수 있습니다.); 에 대한간격값, 총 개수 간격의 초
토토 결과 필드(0 - 23)
소수 부분을 포함한 초 필드는, 1,000,000을 곱합니다. 여기에는 전체가 포함됩니다. 초.
연도 필드를 1000으로 나눈 값
밀레니엄 필드의 결과는 다음과 같습니다. 단순히 연도 필드를 1000으로 나눈 것이지, 1900년대를 1900년대로 보는 전통적인 정의 두 번째 천년.
소수 부분을 포함한 초 필드는 1000을 곱합니다. 여기에는 전체 항목이 포함됩니다. 초.
분 필드(0 - 59)
용타임스탬프값, 숫자 해당 연도의 월(1 - 12) ; 에 대한간격월 수, 모듈로 값 12(0 - 11)
해당 날짜가 속하는 분기(1 - 4) (for타임스탬프값만)
소수 부분을 포함한 초 필드(0 - 59[1])
토토 결과대 오프셋의 토토 결과 구성요소입니다.
토토 결과대 오프셋의 분 구성요소입니다.
A로부터타임스탬프값, 해당 날짜가 해당 연도의 몇 번째 주인지 계산합니다. 에 있습니다. 정의에 따르면 (ISO8601), 한 해의 첫 번째 주 그 해 1월 4일을 포함합니다. (그ISO주는 월요일에 시작됩니다.) 기타 즉, 일년 중 첫 번째 목요일은 그 첫 번째 주에 있습니다. 년.
연도 필드
그추출함수는
주로 계산 처리를 위한 것입니다. 서식을 지정하려면
표시할 날짜/토토 결과 값은 다음을 참조하세요.섹션 4.7.
그date_part함수는
전통적인 방식을 모델로 함앵그르에 해당SQL-기능추출:
date_part('필드', 출처)
여기에 주의하세요필드값은 문자열이어야 합니다. 에 대한 유효한 필드 값date_part다음과 동일합니다추출.
date_trunc함수date_trunc이다
개념적으로는와 유사합니다.트렁크숫자에 대한 함수입니다.
date_trunc('필드', 출처)
출처값 표현식입니다. 유형타임스탬프(유형 값날짜그리고토토 결과있습니다 자동으로 전송).필드타임스탬프 값을 자를 정밀도를 선택합니다. 반환 값은 다음 유형입니다.타임스탬프선택한 필드보다 작은 모든 필드는 0으로 설정됩니다. (또는 일과 월에 대해 하나).
다음에 대한 유효한 값필드다음은:
| 마이크로초 |
| 밀리초 |
| 초 |
| 분 |
| 토토 결과 |
| 일 |
| 월 |
| 년 |
| 10년 |
| 세기 |
| 밀레니엄 |
현재 값을 얻기 위해 다음 기능을 사용할 수 있습니다. 날짜 및/또는 토토 결과:
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(),
역사적인 이유로 인해 대신 텍스트 문자열을 반환합니다.
에타임스탬프값:
그것을 깨닫는 것이 매우 중요합니다.CURRENT_TIMESTAMP및 관련 기능 모두
현재 트랜잭션이 시작된 시점의 토토 결과을 반환합니다.
트랜잭션이 실행되는 동안 해당 값은 증가하지 않습니다.
하지만timeofday()반환
실제 현재 토토 결과입니다.
모든 날짜/토토 결과 데이터 유형은 특수 리터럴도 허용합니다. 값지금현재 날짜를 지정하려면 그리고 토토 결과. 따라서 다음 세 가지 모두 동일한 결과를 반환합니다. 결과:
현재_TIMESTAMP 선택; 지금 선택(); 타임스탬프 '지금' 선택;
참고:당신은 다음과 같은 경우에 세 번째 형식을 사용하고 싶지 않습니다. 테이블을 생성하는 동안 DEFAULT 값을 지정합니다. 는 시스템이 변환됩니다지금에타임스탬프상수가 다음과 같자마자 기본값이 필요할 때 토토 결과이 테이블 생성이 사용됩니다! 처음 두 가지 형태 기본값이 사용될 때까지 평가되지 않습니다. 함수 호출이기 때문입니다. 따라서 그들은 줄 것입니다 행의 토토 결과을 기본으로 하는 원하는 동작 삽입.
| [1] |
60 윤초가 연산에 의해 구현된 경우 시스템 |