표 9-26날짜/스포츠 토토 값 처리에 사용 가능한 기능이 표시됩니다. 다음 하위 섹션에 세부 사항이 나타납니다.표 9-25기본 산술 연산자의 동작을 보여줍니다 (+, *등). 함수 서식에 대해서는를 참조하십시오.섹션 9.7. 당신은해야합니다 날짜/스포츠 토토 데이터 유형에 대한 배경 정보에 익숙합니다 에서PostgreSQL : 문서 : 7.4 : 날짜/토토 베이 유형.
아래에 설명 된 모든 기능 및 연산자Time또는타임 스탬프입력은 실제로 두 가지 변형으로 제공됩니다.스포츠 토토대가있는 스포츠 토토또는타임 스탬프 스포츠 토토대와 함께, 그리고 가져가는 것이스포츠 토토 스포츠 토토대없이또는스포츠 토토이없는 타임 스탬프 존. 간결하게, 이러한 변형은 표시되지 않습니다 갈라져.
표 9-25. 날짜/스포츠 토토 운영자
운영자 | example | 결과 |
---|---|---|
+ | 날짜 '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 ' |
+ | Time '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 ' |
+ | Time '01 : 00 ' + 간격'3 스포츠 토토 ' | Time '04 : 00 ' |
+ | 간격 '3 스포츠 토토' + 스포츠 토토 '01 : 00 ' | Time '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 ' |
- | Time '05 : 00 ' - 스포츠 토토 '03 : 00 ' | Interval '02 : 00 ' |
- | Time '05 : 00 ' - 간격'2 스포츠 토토 ' | Time '03 : 00 ' |
- | 타임 스탬프 '2001-09-28 23:00'- 간격 '23 스포츠 토토 ' | 타임 스탬프 '2001-09-28 00:00 ' |
- | 간격 '1 일' - 간격 '1 스포츠 토토' | 간격 '23 : 00 ' |
- | 간격 '2 스포츠 토토' - 스포츠 토토 '05 : 00 ' | Time '03 : 00 ' |
- | 타임 스탬프 '2001-09-29 03:00'- 타임 스탬프 '2001-09-27 12:00' | 간격 '1 일 15:00' |
* | 이중 정밀도 '3.5' * 간격 '1 스포츠 토토' | 간격 '03 : 30 ' |
* | 간격 '1 스포츠 토토' * 더블 정밀도 '3.5' | 간격 '03 : 30 ' |
/ | 간격 '1 스포츠 토토' / 더블 정밀도 '1.5' | Interval '00 : 40 ' |
표 9-26. 날짜/스포츠 토토 기능
기능 | 반환 유형 | 설명 | example | 결과 |
---|---|---|---|---|
Age (타임 스탬프) |
간격 | 오늘부터 빼기 | 나이 (타임 스탬프 '1957-06-13') | 43 년 8 몬 몬 3 일 |
Age (타임 스탬프,
타임 스탬프) |
간격 | 인수 빼기 | Age ( '2001-04-10', 타임 스탬프 '1957-06-13') | 43 세 9 몬 몬 27 일 |
current_date |
날짜 | 오늘의 날짜; 보다섹션 9.8.4 | ||
current_time |
스포츠 토토대가있는 스포츠 토토 | 스포츠 토토의 스포츠 토토; 보다섹션 9.8.4 | ||
current_timestamp |
스포츠 토토대가있는 타임 스탬프 | 날짜와 스포츠 토토; 보다섹션 9.8.4 | ||
date_part (텍스트,
타임 스탬프) |
이중 정밀도 | 서브 필드 얻기 (Extract ); 보다섹션
9.8.1 |
date_part ( '스포츠 토토', 타임 스탬프 '2001-02-16 20:38:40') | 20 |
date_part (텍스트,
간격) |
이중 정밀 | 서브 필드 가져 오기 (추출물 ); 보다섹션
9.8.1 |
date_part ( 'Month', Interval '2 년 3 개월) | 3 |
date_trunc (텍스트,
타임 스탬프) |
타임 스탬프 | 지정된 정밀도로 잘린다; 참조 참조섹션 9.8.2 | date_trunc ( '스포츠 토토', 타임 스탬프 '2001-02-16 20:38:40') | 2001-02-16 20:00:00 |
Extract (필드From타임 스탬프) |
이중 정밀 | 서브 필드를 얻으십시오. 보다섹션 9.8.1 | 추출물 (타임 스탬프에서 스포츠 토토 '2001-02-16 20:38:40') | 20 |
추출물 (필드From간격) |
이중 정밀 | 서브 필드를 얻으십시오. 보다섹션 9.8.1 | 추출물 (간격에서 월 '2 년 3 개월) | 3 |
Isfinite (타임 스탬프) |
부울 | 유한 타임 스탬프 테스트 (동일하지 않습니다 무한대) | Isfinite (Timestamp '2001-02-16 21:28:30 ') | true |
Isfinite (간격) |
부울 | 유한 간격 테스트 | isfinite (간격 '4 스포츠 토토 ') | true |
LocalTime |
Time | 스포츠 토토의 스포츠 토토; 보다섹션 9.8.4 | ||
LocalTimestamp |
타임 스탬프 | 날짜와 스포츠 토토; 보다섹션 9.8.4 | ||
now () |
스포츠 토토대가있는 타임 스탬프 | 현재 날짜 및 스포츠 토토 (동등한current_timestamp ); 보다섹션
9.8.4 |
||
timeofday () |
텍스트 | 현재 날짜 및 스포츠 토토; 보다섹션 9.8.4 |
이러한 함수 외에도 SQL오버랩운영자가 지원됩니다 :
(start1, end1) 중첩 (start2, end2) (start1, 길이 1) 중첩 (start2, 길이 2)
이 표현식은 두 가지 기간 ( 그들의 종말점) 중첩, 겹치지 않을 때 거짓. 그만큼 엔드 포인트는 날짜, 스포츠 토토 또는 스포츠 토토 쌍으로 지정할 수 있습니다. 우표; 또는 날짜, 스포츠 토토 또는 타임 스탬프 다음에 간격.
선택 (날짜 '2001-02-16', 날짜 '2001-12-21') 중첩 (날짜 '2001-10-30', 날짜 '2002-10-30');결과 :true선택 ( '2001-02-16', '100 일 간격') 중첩 (날짜 '2001-10-30', 날짜 '2002-10-30');결과 :거짓
추출물
, date_part
Extract (필드소스)
theExtract
함수 검색
해 또는 스포츠 토토과 같은 날짜/스포츠 토토 값의 서브 필드.소스는 값 표현입니다
유형으로 평가합니다타임 스탬프또는간격. (유형의 표현날짜또는스포츠 토토타임 스탬프따라서 다음과 같이 사용할 수 있습니다
잘.)필드는 식별자입니다
또는 소스에서 추출 할 필드를 선택하는 문자열
값. 그만큼Extract
함수
유형의 값을 반환이중 정밀.
다음은 유효한 필드 이름입니다.
연도 필드는 100으로 나눈
Extract (TimeStamp '2001-02-16 20:38:40'에서 Century);결과 :20
세기 분야의 결과는 단순히 올해의 필드는 기존의 것이 아닌 100으로 나뉩니다. 1900 년대에 대부분의 20 세기.
The Day (월) 필드 (1-31)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');결과 :16
연도 필드는 10으로 나눈
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');결과 :200
요일 (0-6; 일요일은 0) (for타임 스탬프값 만 해당)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');결과 :5
올해의 날 (1-365/366) (for타임 스탬프값 만 해당)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');결과 :47
for날짜및타임 스탬프값, 이후 몇 초 1970-01-01 00 : 00 : 00-00 (음수 일 수 있음); 을 위한간격값, 총 몇 초 간격으로
추출을 선택하십시오 (Timestamp with Time Zone '2001-02-16 20 : 38 : 40-08');.결과 :982384720추출을 선택하십시오 (Epoch from interval '5 Days 3 스포츠 토토');결과 :442800
스포츠 토토 필드 (0-23)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');결과 :20
분수 부품을 포함한 초 필드, 1,000 000을 곱합니다. 여기에는 전체가 포함됩니다. 초.
추출을 선택하십시오 (Time '17 : 12 : 28.5 '의 마이크로 초);결과 :28500000
연도 필드는 1000으로 나뉩니다
Extract (Timestamp '2001-02-16 20:38:40'); 추출을 선택하십시오.결과 :2
밀레니엄 필드의 결과는 다음과 같습니다 단순히 올해의 필드는 1900 년대에 수년간의 기존의 정의 두 번째 천년.
분수 부품을 포함한 초 필드, 1000을 곱합니다. 여기에는 전체가 포함됩니다 초.
추출물 선택 (Time '17 : 12 : 28.5 '에서 밀리 초);결과 :28500
분 필드 (0-59)
추출을 선택하십시오 (TimeStamp '2001-02-16 20:38:40');결과 :38
for타임 스탬프값, 숫자 한 해의 달 (1-12); 을 위한간격달의 수, 모듈로 가치를 평가합니다 12 (0-11)
추출을 선택하십시오 (TimeStamp '2001-02-16 20:38:40');결과 :2추출을 선택하십시오 (매월 '2 년 3 개월');결과 :3추출을 선택하십시오 (매월 '2 년 13 개월');결과 :1
그날의 1/4 분기 (1-4) (을 위한타임 스탬프값 만 해당)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');결과 :1
분수 부품을 포함한 초 필드 (0- 59[1])
추출을 선택하십시오 (TimeStamp '2001-02-16 20:38:40');결과 :40추출을 선택하십시오 (두 번째 스포츠 토토 '17 : 12 : 28.5 ');결과 :28.5
몇 초 만에 측정 된 UTC에서 스포츠 토토대 오프셋. 양수 값은 UTC의 동쪽에있는 스포츠 토토대에 해당합니다. UTC의 서쪽 구역에 대한 부정적인 값
스포츠 토토대 오프셋의 스포츠 토토 구성 요소
스포츠 토토대 오프셋의 미세 구성 요소
그 날이있는 연도의 주 수. 정의에 따라 (ISO8601), 첫 주에는 1 월 4 일에 그해. (그만큼ISO-8601 주 월요일에 시작됩니다.) 즉, 1 년의 첫 번째 목요일은 1 주차입니다. 그해. (을 위한타임 스탬프값 오직)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');결과 :7
올해의 필드
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');결과 :2001
the추출물
함수는입니다
주로 계산 처리를위한 것입니다. 서식을 위해
디스플레이 날짜/스포츠 토토 값, 참조섹션 9.7.
thedate_part
함수는입니다
전통적으로 모델링I스포츠 토토resSQL-스탠드 함수Extract
:
date_part ( '필드',소스)
여기서필드매개 변수는 이름이 아닌 문자열 값이어야합니다. 유효한
필드 이름date_part
동일Extract
.
date_part ( 'day', timestamp '2001-02-16 20:38:40'); 선택결과 :16date_part ( '스포츠 토토', 간격 '4 스포츠 토토 3 분'); 선택결과 :4
date_trunc
함수date_trunc
is
개념적으로trunc
숫자에 대한 함수.
date_trunc ( '필드',소스)
소스는 값 표현식입니다 유형타임 스탬프또는간격. (유형의 값날짜andTime캐스트가 있습니다 자동으로,타임 스탬프또는간격각각.)필드정밀도를 선택합니다 입력 값을 잘라냅니다. 반환 값은 유형입니다타임 스탬프또는간격덜 중요하지 않은 모든 필드 선택한 하나보다 0으로 설정된 것보다 (또는 하루 동안, 월).
유효한 값필드are :
마이크로 초 |
milliseconds |
Second |
Minute |
Hour |
day |
Month |
Quarter |
year |
10 년 |
Century |
밀레니엄 |
예 :
date_trunc ( '스포츠 토토', 타임 스탬프 '2001-02-16 20:38:40'); 선택결과 :2001-02-16 20:00:00date_trunc ( 'year', timestamp '2001-02-16 20:38:40'); 선택결과 :2001-01-01 00:00:00
the스포츠 토토대에서구성 허용 타임 스탬프가 다른 스포츠 토토대로 변환.테이블 9-27변형을 보여줍니다.
표 9-27.스포츠 토토에 존변형
표현 | 반환 유형 | 설명 |
---|---|---|
타임 스탬프 스포츠 토토대없이스포츠 토토대에서Zone | 스포츠 토토대가있는 타임 스탬프 | 주어진 스포츠 토토대의 현지 스포츠 토토을 UTC로 변환 |
타임 스탬프와 함께 스포츠 토토대스포츠 토토대에서Zone | 스포츠 토토이없는 타임 스탬프 존 | 주어진 스포츠 토토대에서 UTC를 현지 스포츠 토토으로 변환 |
스포츠 토토이 지남에 따라 스포츠 토토 존스포츠 토토대에서Zone | 스포츠 토토대가있는 스포츠 토토 | 스포츠 토토 영역에서 현지 스포츠 토토 변환 |
이 표현에서 원하는 스포츠 토토대Zone텍스트로 지정할 수 있습니다 문자열 (예 :'PST') 또는 간격으로 (예 :간격 '-08 : 00').
예제 (현지 스포츠 토토대가라고 가정합니다.pst8pdt) :
TimeStamp '2001-02-16 20:38:40'At Time Zone 'MST';를 선택하십시오.결과 :2001-02-16 19:38:40-08타임 존 '2001-02-16 20 : 38 : 40-05'At Time Zone 'MST';로 타임 스탬프를 선택하십시오.결과 :2001-02-16 18:38:40
첫 번째 예제는 영역이없는 스포츠 토토 스탬프를 사용합니다 UTC 타임 스탬프를 생성하기 위해 MST 스포츠 토토 (UTC-7)으로 해석합니다. 그런 다음 디스플레이를 위해 PST (UTC-8)로 회전합니다. 두 번째 예제는 EST (UTC-5) 및 MST (UTC-7)에서 현지 스포츠 토토으로 전환합니다.
함수타임 존
(Zone, 타임 스탬프)와 동일합니다
SQL 구성 구성타임 스탬프스포츠 토토대에서Zone.
전류를 얻기 위해 다음 기능을 사용할 수 있습니다 날짜 및/또는 스포츠 토토 :
current_date current_time current_timestamp current_time (정밀) current_timestamp (정밀) 로컬 타임 localtimestamp 로컬 타임 (정밀) LocalTimestamp (정밀)
current_time
andcurrent_timestamp
스포츠 토토이 지남에 따라 값을 전달합니다
존;LocalTime
및LocalTimestamp
스포츠 토토없이 값을 전달합니다
존.
current_time
, current_timestamp
, 로컬 타임
및LocalTimestamp
선택적으로 주어질 수 있습니다
결과를 반올림하는 정밀 매개 변수
초 분야의 많은 분수 숫자. a
정밀 매개 변수, 결과는 사용 가능한 전체에 제공됩니다.
정도.
참고 :이전PostgreSQL7.2, 정밀도 매개 변수는 구현되지 않았으며 결과는 항상있었습니다 정수 초에 주어진 것.
일부 예 :
current_time을 선택하십시오;결과 :14:39:53.662522-05current_date; 선택결과 :2001-12-23select current_timestamp;결과 :2001-12-23 14:39:53.662522-05current_timestamp (2); 선택결과 :2001-12-23 14:39:53.66-05LocalTimestamp 선택;결과 :2001-12-23 14:39:53.662522
함수now ()
입니다
전통적인PostgreSQL동등한current_timestamp
.
함수도 있습니다TimeOfday ()
, 역사적 이유로
a 반환텍스트a가 아닌 문자열타임 스탬프값 :
Timeofday ()를 선택하십시오.결과 :Sat Feb 17 19 : 07 : 32.000126 2001 EST
그것을 아는 것이 중요합니다current_timestamp
및 관련 기능
현재 거래의 시작 스포츠 토토을 반환하십시오. 그들의 가치
거래 중에 변경하지 마십시오. 이것은 a로 간주됩니다
기능 : 의도는 단일 거래가
일관된 개념"현재"스포츠 토토, 동일하게 다중 수정
트랜잭션은 같은 타임 스탬프를 부여합니다.TimeOfday ()
벽 클록 스포츠 토토을 반환합니다
거래 중에 발전합니다.
참고 :다른 데이터베이스 시스템이이를 발전시킬 수 있습니다 더 자주 가치.
모든 날짜/스포츠 토토 데이터 유형은 특별한 리터럴도 허용합니다. 값now현재 날짜를 지정하려면 그리고 스포츠 토토. 따라서 다음 세 가지 모두 동일하게 반환합니다 결과:
current_timestamp 선택; 지금 ()을 선택하십시오. 타임 스탬프 '지금'; 선택
참고 :a 지정기본값조항 테이블 만들기. 시스템이 변환됩니다nowa타임 스탬프AS 상수가 구문 분석 되 자마자 기본값이 가치가 필요하고, 테이블 생성 스포츠 토토은 사용된! 처음 두 형태는 기본값은 함수 호출이기 때문에 사용됩니다. 따라서 그들은 원하는 불이행의 행동을 줄 것입니다. 행 삽입 스포츠 토토.
[1] |
60 운영에 의해 도약 초가 구현되면 체계 |