표 4-17날짜/토토 결과 값 처리에 사용 가능한 함수가 표시됩니다.테이블 4-16기본 산술의 동작을 보여줍니다 연산자 (+, *등). 함수 서식에 대해서는를 참조하십시오.토토 핫 PostgreSQL : 문서 : 7.2 : 데이터 유형 서식 함수. 당신은해야합니다 날짜/토토 결과 데이터에 대한 배경 정보에 익숙합니다 유형 (참조PostgreSQL : 문서 : 7.2 : 날짜/토토 꽁 머니 유형).
아래에 설명 된 날짜/토토 결과 연산자는 비슷하게 행동합니다 토토 결과대와 토토 결과대가없는 유형.
표 4-16. 날짜/토토 결과 운영자
이름 | example | 결과 |
---|---|---|
+ | 타임 스탬프'2001-09-28 01:00' +간격'23 토토 결과 ' | 타임 스탬프'2001-09-29 00:00 ' |
+ | 날짜'2001-09-28' +간격'1 토토 결과' | 타임 스탬프'2001-09-28 01:00 ' |
+ | Time'01 : 00 ' +간격'3 토토 결과' | Time'04 : 00 ' |
- | 타임 스탬프'2001-09-28 23:00'-간격'23 토토 결과 ' | 타임 스탬프'2001-09-28' |
- | 날짜'2001-09-28'-간격'1 토토 결과' | 타임 스탬프'2001-09-27 23:00 ' |
- | Time'05 : 00 ' -간격'2 토토 결과' | Time'03 : 00 ' |
- | 간격'2 토토 결과' -Time'05 : 00 ' | Time'03 : 00 : 00 ' |
* | 간격'1 토토 결과' *int'3' | 간격'03 : 00 ' |
/ | 간격'1 토토 결과' /int'3' | 간격'00 : 20 ' |
날짜/토토 결과 함수는 아래에 요약되어 있으며 추가로 요약되어 있습니다 후속 섹션의 세부 사항
표 4-17. 날짜/토토 결과 기능
이름 | 반환 유형 | 설명 | example | 결과 |
---|---|---|---|---|
Age (타임 스탬프) |
간격 | 오늘부터 빼기 | 나이 (타임 스탬프 '1957-06-13') | 43 년 8 몬 몬 3 일 |
Age (타임 스탬프, 타임 스탬프) |
간격 | 인수 빼기 | Age ( '2001-04-10', 타임 스탬프 '1957-06-13') | 43 세 9 몬 몬 27 일 |
current_date |
날짜 | 오늘 날짜; 보다아래 | ||
current_time |
Time | 토토 결과의 토토 결과; 보다아래 | ||
current_timestamp |
타임 스탬프 | 날짜와 토토 결과; 보다아래 | ||
date_part (텍스트, 타임 스탬프) |
더블 정밀도 | 서브 필드 받기 (동등한Extract ); 참조 참조아래 |
date_part ( '토토 결과', 타임 스탬프 '2001-02-16 20:38:40') | 20 |
date_part (텍스트, 간격) |
이중 정밀 | 서브 필드 받기 (Extract ); 참조 참조아래 |
date_part ( 'Month', Interval '2 년 3 개월) | 3 |
date_trunc (텍스트, 타임 스탬프) |
타임 스탬프 | 지정된 정밀도로 잘린다; 참조 참조아래 | date_trunc ( '토토 결과', 타임 스탬프 '2001-02-16 20:38:40') | 2001-02-16 20 : 00 : 00+00 |
Extract (필드 From타임 스탬프) |
이중 정밀 | 서브 필드를 얻으십시오. 참조 참조아래 | 추출물 (타임 스탬프에서 토토 결과 '2001-02-16 20:38:40') | 20 |
Extract (필드 From간격) |
이중 정밀도 | 서브 필드를 얻으십시오. 참조 참조아래 | 추출물 (간격에서 월 '2 년 3 개월) | 3 |
Isfinite (타임 스탬프) |
부울 | 유한 타임 스탬프 테스트 (유효하지 않은 NO 무한대) | Isfinite (Timestamp '2001-02-16 21:28:30 ') | true |
Isfinite (간격) |
부울 | 유한 간격 테스트 | isfinite (간격 '4 토토 결과 ') | true |
now () |
타임 스탬프 | 현재 날짜 및 토토 결과 (동등한current_timestamp ); 보다아래 |
||
timeofday () |
텍스트 | 현재 날짜 및 토토 결과; 보다아래 | timeofday () | 2 월 21 일 17 : 01 : 13.000126 2001 EST |
타임 스탬프 (날짜) |
타임 스탬프 | 날짜to타임 스탬프 | 타임 스탬프 (날짜 '2000-12-25') | 2000-12-25 00:00:00 |
타임 스탬프 (날짜, Time) |
타임 스탬프 | 날짜andTimeto타임 스탬프 | 타임 스탬프 (날짜 '1998-02-24', 토토 결과 '23 : 07 ') | 1998-02-24 23:07:00 |
Extract
, date_part
Extract (필드From소스)
theExtract
함수 검색
해 또는 토토 결과과 같은 날짜/토토 결과 값의 하위 필드.소스는 값 표현식입니다
유형으로 평가합니다타임 스탬프또는간격. (유형의 표현날짜또는토토 결과타임 스탬프따라서 다음과 같이 사용할 수 있습니다
잘.)필드는 식별자입니다
또는 소스에서 추출 할 필드를 선택하는 문자열
값. 그만큼Extract
함수
유형의 값을 반환이중 정밀.
다음은 유효한 값입니다 :
연도 필드는 100으로 나눈
세기 분야의 결과는 단순히 올해의 필드는 기존의 것이 아닌 100으로 나뉩니다. 1900 년대에 대부분의 20 세기.
The Day (월) 필드 (1-31)
연도 필드는 10으로 나눈
요일 (0-6; 일요일은 0) (for타임 스탬프값 만 해당)
올해의 날 (1-365/366) (for타임 스탬프값 만 해당)
for날짜and타임 스탬프값, 이후 몇 초 1970-01-01 00 : 00 : 00-00 (결과는 음수 일 수 있습니다.); 을 위한간격값, 총 숫자 간격에서 초의 초
토토 결과 필드 (0-23)
분수 부품을 포함한 초 필드, 1,000 000을 곱합니다. 여기에는 전체가 포함됩니다. 초.
연도 필드는 1000으로 나뉩니다
밀레니엄 필드의 결과는 다음과 같습니다 단순히 올해의 필드는 1900 년대에 수년간의 기존의 정의 두 번째 천년.
분수 부품을 포함한 초 필드, 1000을 곱합니다. 여기에는 전체가 포함됩니다 초.
분 필드 (0-59)
for타임 스탬프값, 숫자 한 해의 달 (1-12); 을 위한간격달의 수, 모듈로 가치를 평가합니다 12 (0-11)
그날의 1/4 분기 (1-4) (을 위한타임 스탬프값 만 해당)
분수 부품을 포함한 초 필드 (0- 59[1])
토토 결과대 오프셋의 토토 결과 구성 요소.
토토 결과대 오프셋의 미세 구성 요소.
at타임 스탬프값, 그날의 연도 주 수를 계산하십시오. 안에 있습니다. 정의에 따라 (ISO8601), 1 년의 첫 주 그해 1 월 4 일에 포함됩니다. (그만큼ISO주간은 월요일에 시작됩니다.) 다른 말, 1 년의 첫 목요일은 그 중 1 주차입니다. 년도.
올해 필드
the추출물
함수는입니다
주로 계산 처리를위한 것입니다. 서식을 위해
디스플레이 날짜/토토 결과 값, 참조섹션 4.7.
thedate_part
함수는입니다
전통적으로 모델링IngresSQL-기능Extract
:
date_part ( '필드',소스)
여기서필드값은 문자열이어야합니다. 에 대한 유효한 필드 값date_part
와 동일합니다Extract
.
date_trunc
함수date_trunc
is
개념적으로Trunc
숫자에 대한 기능.
date_trunc ( '필드',소스)
소스는 값 표현식입니다 유형타임 스탬프(유형 값날짜및Time자동으로 캐스트).필드타임 스탬프 값을 자울 수있는 정밀도를 선택합니다. 반환 값은 유형입니다타임 스탬프선택한 하나보다 적은 모든 필드가있는 모든 필드가 0으로 0으로 (또는 하나, 요일과 월).
유효한 값필드are :
마이크로 초 |
milliseconds |
Second |
Minute |
Hour |
day |
Month |
년 |
10 년 |
Century |
밀레니엄 |
전류를 얻기 위해 다음 기능을 사용할 수 있습니다 날짜 및/또는 토토 결과 :
current_date current_time current_timestamp current_time (정밀) current_timestamp (정밀)
current_time
및current_timestamp
선택적으로 주어질 수 있습니다
결과를 반올림하는 정밀 매개 변수
그 많은 분수 숫자. 정밀 매개 변수가 없으면
결과가 완전한 정밀도로 제공됩니다.
참고 :이전PostgreSQL7.2, 정밀도 매개 변수는 구현되지 않았으며 결과는 항상있었습니다 정수 초에 주어진 것.
참고 :theSQL99표준에는 이러한 기능이 필요합니다 정밀도가 아니라면 괄호없이 쓰기 매개 변수가 제공됩니다. 기준PostgreSQL7.2, 빈 쌍 괄호를 작성할 수 있지만 이것은 더 이상 사용되지 않으며 5 월 향후 릴리스에서 제거됩니다.
current_time을 선택하십시오;14:39:53.662522-05current_date; 선택2001-12-23current_timestamp; 선택2001-12-23 14:39:53.662522-05select current_timestamp (2);2001-12-23 14:39:53.66-05
함수now ()
is
전통적인PostgreSQL동등한current_timestamp
.
또한TimeOfday ()
,
역사적 이유로
에이타임 스탬프값 :
그것을 깨닫는 것이 매우 중요합니다current_timestamp
및 관련 기능 모두
현재 거래 시작시 토토 결과을 반환하십시오.
거래가 실행되는 동안 값이 증가하지 않습니다.
하지만TimeOfday ()
반환합니다
실제 현재 토토 결과.
모든 날짜/토토 결과 데이터 유형은 특별한 리터럴도 허용합니다. 값now현재 날짜를 지정합니다 그리고 토토 결과. 따라서 다음 세 가지 모두 동일하게 반환합니다 결과:
select current_timestamp; 지금 ()을 선택하십시오. 타임 스탬프 '지금'; 선택
참고 :테이블을 작성하는 동안 기본값을 지정합니다. 그만큼 시스템은 변환됩니다지금a타임 스탬프상수가있는 즉시 기본값이 필요한 경우 토토 결과 테이블 생성의 사용이 사용됩니다! 처음 두 형태 기본값이 사용될 때까지 평가되지 않습니다. 기능 호출이기 때문입니다. 따라서 그들은 줄 것입니다 행의 토토 결과에 대한 불이행의 원하는 동작 삽입.
[1] |
60 운영에 의해 도약 초가 구현되면 체계 |