표 9.33날짜/시간 값 처리에 사용 가능한 기능이 표시되며 다음 하위 섹션에 세부 사항이 나타납니다.표 9.32기본 산술 연산자의 동작을 보여줍니다 (+
, *
등). 함수 서식에 대해서는를 참조하십시오.PostgreSQL : 문서 : 16 : 9.8. 데이터 유형 스포츠 토토 와이즈 토토 스포츠 토토 와이즈 토토 기능. 날짜/시간 데이터 유형에 대한 배경 정보에 익숙해야합니다.PostgreSQL : 문서 : 16 : 8.5. 날짜/토토 사이트 순위 유형.
또한, 일반적인 비교 연산자표 9.1날짜/시간 유형에 사용할 수 있습니다. 날짜 및 타임 스탬프 (와이즈 토토가 있거나없는)는 모두 비슷하지만 시간 (와이즈 토토가 있거나없는)은 동일한 데이터 유형의 다른 값과 만 비교할 수 있습니다. 와이즈 토토가없는 타임 스탬프를 와이즈 토토가있는 타임 스탬프와 비교할 때, 전자 값은에 의해 지정된 와이즈 토토에 제공되는 것으로 가정합니다.TimeZone구성 매개 변수이며 후자의 값 (이미 내부적으로 UTC에 있음)과 비교하기 위해 UTC로 회전합니다. 마찬가지로 날짜 값은에서 자정을 나타내는 것으로 가정합니다.TimeZone
타임 스탬프와 비교할 때 영역.
아래에 설명 된 모든 기능 및 연산자는Time
또는타임 스탬프
입력은 실제로 두 가지 변형으로 제공됩니다.와이즈 토토가있는 시간
또는시간대가있는 타임 스탬프
그리고 가져가는 것이와이즈 토토가없는 시간
또는시간대가없는 타임 스탬프
. 간결하게, 이러한 변종은 별도로 표시되지 않습니다. 또한,+
and*
운영자는 정류 쌍으로 제공됩니다 (예 : 둘 다날짜
+
정수
및Integer
+
날짜
); 우리는 각 쌍 중 하나만 보여줍니다.
표 9.32. 날짜/시간 운영자
운영자 설명 예제 |
---|
날짜에 며칠 더 추가
|
날짜 간격 추가
|
날짜에 시간 추가
|
간격 추가
|
타임 스탬프에 간격 추가
|
시간 간격 추가
|
간격 부정
|
날짜를 빼고 경과 한 일 수를 생성
|
날짜부터 며칠을 빼십시오
|
날짜부터 간격을 빼
|
SUPTRACT TIMES
|
시간에서 간격을 빼
|
타임 스탬프에서 간격을 빼십시오
|
간격을 빼기
|
타임 스탬프를 빼고 (24 시간 간격을 일로 변환하는 것과 유사하게
|
스칼라로 간격을 곱합니다
|
스칼라로 간격을 나눕니다
|
표 9.33. 날짜/시간 기능
기능 설명 예제 |
---|
인수를 빼고 a“Symbolic”단지 며칠이 아닌 몇 년과 몇 달을 사용하는 와이즈 토토
|
|
|
현재 날짜 및 시간 (명령문 실행 중 변경); 보다섹션 9.9.5
|
현재 날짜; 보다섹션 9.9.5
|
현재 시간; 보다섹션 9.9.5
|
정밀도가 제한된 현재 시간; 보다섹션 9.9.5
|
현재 날짜 및 시간 (현재 트랜잭션 시작); 보다섹션 9.9.5
|
현재 날짜와 시간 (현재 트랜잭션 시작), 정밀도가 제한되어 있습니다. 보다섹션 9.9.5
|
추가
|
지정된 원점과 정렬 된 지정된 간격으로의 빈 입력; 보다섹션 9.9.3
|
타임 스탬프 서브 필드 가져 오기 (
|
간격 서브 필드 get (
|
SUPTRANT A
|
지정된 정밀도로 잘린다; 보다섹션 9.9.2
|
지정된 와이즈 토토에서 지정된 정밀도로 자릅니다. 보다섹션 9.9.2
|
지정된 정밀도로 잘린다; 보다섹션 9.9.2
|
타임 스탬프 서브 필드를 얻으십시오. 보다섹션 9.9.1
|
간격 서브 필드 얻기; 보다섹션 9.9.1
|
유한 날짜 테스트 (+/- 인피니티가 아님)
|
유한 타임 스탬프 테스트 (+/- 인피니티가 아님)
|
유한 간격 테스트 (현재 항상 참)
|
30 일 기간을 몇 개월로 변환하는 간격 조정
|
간격 조정, 24 시간 기간을 일로 변환
|
사용 간격 조정
|
현재 시간; 보다섹션 9.9.5
|
정밀도가 제한된 현재 시간; 보다섹션 9.9.5
|
현재 날짜 및 시간 (현재 트랜잭션 시작); 보다섹션 9.9.5
|
현재 날짜와 시간 (현재 트랜잭션 시작), 정밀도가 제한적입니다. 보다섹션 9.9.5
|
연도, 월 및 주간 필드에서 날짜 창출 (부정적인 해는 BC를 나타냅니다)
|
몇 년, 몇 달, 몇 주, 일, 시간, 몇 분 및 초 필드에서 간격을 만듭니다.
|
시간, 분 및 초 필드에서 시간을 만듭니다
|
연도, 월, 일, 시간, 시간, 분 및 초 필드에서 타임 스탬프 생성 (부정적인 해)
|
연도, 월, 일, 시간, 시간, 분 및 초 필드에서 시간대가있는 타임 스탬프를 만듭니다 (부정적인 해는 BC를 나타냅니다). 만약에
|
현재 날짜 및 시간 (현재 거래 시작); 보다섹션 9.9.5
|
현재 날짜 및 시간 (현재 문의 시작); 보다섹션 9.9.5
|
현재 날짜 및 시간 (kee
|
현재 날짜 및 시간 (현재 거래 시작); 보다섹션 9.9.5
|
UNIX EPOCH 변환 (1970-01-01 00 : 00 : 00 : 00+00 이후의 초)
|
(start1
,end1
) 중첩 (start2
,end2
) (start1
,길이 1
) 중첩 (start2
,길이 2
)
이 표현식은 두 개의 시간 (엔드 포인트로 정의)이 겹치지 않으면 겹치지 않으면 거짓으로 겹치지 않습니다. 종말점은 날짜, 시간 또는 타임 스탬프 쌍으로 지정할 수 있습니다. 또는 날짜, 시간 또는 타임 스탬프와 간격으로. 한 쌍의 값이 제공되면 시작 또는 끝을 먼저 쓸 수 있습니다.오버랩
쌍의 이전 값을 자동으로 시작으로 가져옵니다. 각 기간은 하프 오픈 간격을 나타내는 것으로 간주됩니다시작
<=
TIME
<
END
,시작
andEND
동일하게 해당 단일 시간을 나타냅니다. 예를 들어, 종말점 만있는 두 가지 기간은 겹치지 않는다는 것을 의미합니다.
선택 ( '2001-02-16', 날짜 '2001-12-21') 중첩 (날짜 '2001-10-30', 날짜 '2002-10-30');와이즈 토토 :true
선택 ( '2001-02-16', '100 일 간격') 중첩 (날짜 '2001-10-30', 날짜 '2002-10-30');와이즈 토토 :거짓
선택 (날짜 '2001-10-29', 날짜 '2001-10-30') 중첩 (날짜 '2001-10-30', 날짜 '2001-10-31');와이즈 토토 :false
선택 ( '2001-10-30', 날짜 '2001-10-30') 중첩 (날짜 '2001-10-30', 날짜 '2001-10-31');와이즈 토토 :true
추가 할 때간격
값 (또는 SUPTRANTING간격
값에서) a타임 스탬프
또는시간대가있는 타임 스탬프
가치, 달, 일 및 마이크로 초 필드의간격
값은 차례로 처리됩니다. 첫째, 0 개월이 아닌 현장 현장은 표시된 달의 시간을 표시하거나 줄어들어 새 달의 끝이 지나지 않는 한, 그 달의 마지막 날은 사용됩니다. (예를 들어, 3 월 31 일 플러스 1 개월은 4 월 30 일이되지만 3 월 31 일 + 2 개월은 5 월 31 일이됩니다.) 그러면 제비 요일이 표시된 일 수로 타임 스탬프 날짜를 줄입니다. 이 두 단계에서 현지 시간은 동일하게 유지됩니다. 마지막으로, 0이 아닌 마이크로 초 필드가 있으면 문자 그대로 추가되거나 빼냅니다. a에서 산술을 할 때시간대가있는 타임 스탬프
DST를 인식하는 시간대의 값, 이는 추가 또는 빼기 (say)을 의미합니다.간격 '1 일'
반드시 추가 또는 빼기와 동일한 결과를 얻을 수는 없습니다간격 '24 시간 '
. 예를 들어, 세션 시간대가로 설정된 상태에서America/Denver
:
시간대가있는 타임 스탬프를 선택하십시오 '2005-04-02 12 : 00 : 00-07' + 간격 '1 일';와이즈 토토 :2005-04-03 12:00:00-06
시간대가있는 타임 스탬프를 선택하십시오 '2005-04-02 12 : 00 : 00-07' + 간격 '24 시간 ';와이즈 토토 :2005-04-03 13:00:00-06
이것은 일광 절약 시간의 변화로 인해 한 시간이 건너 뛰었 기 때문에 발생합니다2005-04-03 02:00:00
시간대America/Denver
.
참고에 모호성이있을 수 있습니다.개월
필드에 의해 반품Age
다른 달이 다르기 때문에 일수가 다르기 때문입니다.PostgreSQL의 접근 방식은 부분 달을 계산할 때 두 날짜 이전의 월을 사용합니다. 예를 들어,Age ( '2004-06-01', '2004-04-30')
4 월을 사용하여 수율1 월 1 일
, May를 사용하는 동안1 월 2 일
5 월은 31 일이 있기 때문에 4 월은 30 일에 불과합니다.
날짜와 타임 스탬프의 뺄셈도 복잡 할 수 있습니다. 뺄셈을 수행하는 개념적으로 간단한 방법 중 하나는 각 값을 사용하여 각 값을 여러 초로 변환하는 것입니다.추출물 (Epoch from ...)
, 와이즈 토토를 빼십시오. 이것은의 수를 생성합니다초두 값 사이. 이는 매월 일수, 시간대 변경 및 일광 절약 시간 조정에 맞게 조정됩니다. 날짜 또는 타임 스탬프 값의 빼기“-
”운영자는 값 사이의 일 (24 시간)과 시간/분/초를 반환하여 동일한 조정을합니다. 그만큼Age
함수는 연도, 몇 달, 일, 시간/분/초를 반환하여 필드 별 뺄셈을 수행 한 다음 음의 필드 값을 조정합니다. 다음 쿼리는 이러한 접근법의 차이점을 보여줍니다. 샘플 결과는로 생성되었습니다.TimeZone = 'US/Eastern'
; 사용 된 두 날짜 사이에 일광 절약 시간 변경이 있습니다.
추출을 선택하십시오 (Timestamptz의 2013-07-01 12:00:00 ')- 추출물 (Timestamptz의 2013-03-01 12:00:00 ');와이즈 토토 :10537200.000000
select (timestamptz의 2013-07-01 12:00:00 ')-Extract (Epoch)- 추출물 (Timestamptz의 2013-03-01 12:00:00 '))))))))) / 60 / 60 / 24;와이즈 토토 :121.9583333333333333
TimesTamptz '2013-07-01 12:00:00'-TimesTamptz '2013-03-01 12:00:00'; 선택와이즈 토토 :121 일 23:00:00
연령 선택 (Timestamptz '2013-07-01 12:00:00', Timestamptz '2013-03-01 12:00:00');와이즈 토토 :4 Mons
Extract
, date_part
#Extract (필드
From소스
)
theExtract
함수는 날짜/시간 값에서 해 또는 시간과 같은 서브 필드를 검색합니다.소스
유형의 값 표현이어야합니다타임 스탬프
, 날짜
, 시간
, 또는간격
. (타임 스탬프와 시간은 시간대가 있거나없는 시간에있을 수 있습니다.)필드
는 소스 값에서 추출 할 필드를 선택하는 식별자 또는 문자열입니다. 모든 입력 데이터 유형에 모든 필드가 유효하지는 않습니다. 예를 들어, 하루보다 작은 필드는 a에서 추출 할 수 없습니다.날짜
, 하루 이상의 필드는 a를 추출 할 수 없습니다.TIME
. 그만큼Extract
함수 유형 값을 반환숫자
.
다음은 유효한 필드 이름입니다 :
Century
세기; 을 위한간격
값, 연도 필드는 100으로 나눈
추출을 선택하십시오 (Timestamp '2000-12-16 12:21:13');와이즈 토토 :20
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :21
Extract (Century From Date '0001-01-01 AD'); 선택을 선택하십시오.와이즈 토토 :1
추출을 선택하십시오 (Century From Date '0001-12-31 BC');와이즈 토토 :-1
추출을 선택하십시오 (Century From Interval '2001 년');와이즈 토토 :20
day
월의 날 (1-31); 을 위한간격
값, 일수
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :16
추출을 선택하십시오 (간격 '40 일 1 분 ');와이즈 토토 :40
10 년
연도 필드는 10으로 나눈
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :200
dow
일요일과 같은 요일 (0
) ~ 토요일 (6
)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :5
참고Extract
의 날의 날의 날 번호는와 다릅니다.to_char (..., 'd')
기능.
doy
일년의 날 (1–365/366)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :47
epoch
for시간대가있는 타임 스탬프
값, 1970-01-01 00:00:00 이후의 초 수 을 위한날짜
and타임 스탬프
값, 시간대 또는 일광 절약 규칙에 관계없이 1970-01-01 00:00:00 이후의 명목상 초의 명목 수; 을 위한간격
값, 간격의 총 초 수
추출을 선택하십시오 (시간대가있는 타임 스탬프의 에포크 '2001-02-16 20 : 38 : 40.12-08');와이즈 토토 :982384720.120000
추출을 선택하십시오 (Timestamp '2001-02-16 20 : 38 : 40.12');와이즈 토토 :982355920.120000
Extract (Epoch From '5 Days 3 시간');와이즈 토토 :442800.000000
에포크 값을 A로 다시 변환 할 수 있습니다시간대가있는 타임 스탬프
withTO_TIMESTAMP
:
to_timestamp (982384720.12); 선택와이즈 토토 :2001-02-17 04 : 38 : 40.12+00
적용에주의하십시오TO_TIMESTAMP
a에서날짜
또는타임 스탬프
값은 오해의 소지가있는 와이즈 토토를 낳을 수 있습니다. 와이즈 토토는 UTC에서 원래 값이 제공되었다고 효과적으로 가정 할 것입니다..
Hour
시간 필드 (타임 스탬프의 0–23, 구간이 무제한)
추출을 선택하십시오 (시간 시간에서 시간 시간 2001-02-16 20:38:40 ');와이즈 토토 :20
Isodow
월요일과 같은 요일 (1
) 일요일까지 (7
)
Extract (Timestamp의 Isodow '2001-02-18 20:38:40');를 선택하십시오.와이즈 토토 :7
이것은 동일합니다dow
일요일을 제외하고. 이것은와 일치합니다.ISO8601 주 번호 번호.
Isoyear
theISO8601 주일이 날짜가 떨어지는 연도
Extract (Isoyear from Date '2006-01-01');와이즈 토토 :2005
Extract (Isoyear from Date '2006-01-02');와이즈 토토 :2006
각ISO8601 주 번호 연도는 1 월 4 일 월요일부터 시작되므로 1 월 초 또는 12 월 말에ISO연도는 Gregorian 년과 다를 수 있습니다. 참조주
자세한 내용은 필드
줄리안
the줄리안 날짜날짜 또는 타임 스탬프에 해당합니다. 로컬 자정이 아닌 타임 스탬프는 분수 값을 초래합니다. 보다섹션 B.7자세한 내용은
Extract (Julian From Date '2006-01-01');와이즈 토토 :2453737
Extract (Timestamp '2006-01-01 12:00'); Extract를 선택하십시오.와이즈 토토 :2453737.50000000000000000000
마이크로 초
분수 부품을 포함한 초 필드는 1,000 000을 곱한 것; 여기에는 전체 초가 포함되어 있습니다
추출을 선택하십시오 (Time '17 : 12 : 28.5 '의 마이크로 초);와이즈 토토 :28500000
Millennium
밀레니엄; 을 위한간격
값, 연도 필드는 1000으로 나눈
Extract Extract (Timestamp '2001-02-16 20:38:40');와이즈 토토 :3
Extract (Interval '2001 년')에서 밀레니엄을 선택하십시오.와이즈 토토 :2
1900 년대의 몇 년은 2 천년입니다. 3 천년은 2001 년 1 월 1 일에 시작되었습니다.
milliseconds
분수 부품을 포함한 초 필드는 1000을 곱합니다. 여기에는 전체 초가 포함됩니다.
추출을 선택하십시오 (Time '17 : 12 : 28.5 '에서 밀리 초);와이즈 토토 :28500.000
Minute
분 필드 (0–59)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :38
Month
연도 내 월 수 (1-12); 을 위한간격
값, Modulo 12 (0–11)
추출을 선택하십시오 (TimeStamp '2001-02-16 20:38:40');와이즈 토토 :2
추출을 선택하십시오 (매월 '2 년 3 개월');와이즈 토토 :3
추출을 선택하십시오 (매달 간격 '2 년 13 개월');와이즈 토토 :1
Quarter
날짜가있는 해 (1-4)
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :1
Second
분수 초를 포함한 초 필드
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :40.000000
추출을 선택하십시오 (Time From '17 : 12 : 28.5 ');와이즈 토토 :28.500000
타임 존
몇 초 만에 측정 된 UTC에서 시간대 오프셋. 양수 값은 UTC의 동쪽 시간 영역, UTC 서쪽 구역에 대한 음수 값에 해당합니다. (기술적으로PostgreSQL도약 초가 처리되지 않기 때문에 UTC를 사용하지 않습니다.)
Timezone_hour
시간대 오프셋의 시간 구성 요소
Timezone_Minute
시간대 오프셋의 미세 구성 요소
주
ISO8601 주 1 주일. 정의에 따르면, ISO Weeks는 월요일에 시작되며 첫 주에는 그 해의 1 월 4 일이 포함됩니다. 다시 말해, 1 년의 첫 번째 목요일은 그 해의 1 주차입니다.
ISO 주중 번호 시스템에서 1 월 초반 날짜는 전년도 52 주 또는 53 주에 일부가 될 수 있으며 12 월 후반 날짜는 내년 첫 주의 일부가 될 수 있습니다. 예를 들어,2005-01-01
2004 년 53 주차의 일부이며2006-01-01
2005 년 52 주차의 일부이며2012-12-31
2013 년 첫 주의 일부입니다.Isoyear
함께 필드주
일관된 와이즈 토토를 얻으려면
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :7
Year
올해 필드. 없음을 명심하십시오0 AD
, SO SUTCARTINGBC
ad
시절은 조심해야합니다.
추출을 선택하십시오 (Timestamp '2001-02-16 20:38:40');와이즈 토토 :2001
처리 할 때간격
값,추출물
함수는 간격 출력 함수에 의해 사용되는 해석과 일치하는 필드 값을 생성합니다. 예를 들어 비정형 간격 표현으로 시작하면 놀라운 결과를 얻을 수 있습니다.
간격 '80 분 '; 선택와이즈 토토 :01:20:00
추출을 선택하십시오 (간격 '80 분 ');와이즈 토토 :20
입력 값이 +/- 인피니티 인 경우추출물
단조로 인한 필드에 대한 +/- 인피니티 (epoch
, 줄리안
, Year
, Isoyear
, 10 년
, Century
및밀레니엄
). 다른 필드의 경우 Null이 반환됩니다.PostgreSQL9.6 전의 버전은 무한한 입력의 모든 경우에 0을 반환했습니다.
theExtract
함수는 주로 계산 처리를위한 것입니다. 표시의 날짜/시간 값 서식은 참조PostgreSQL : 문서 : 16 : 9.8. 데이터 유형 스포츠 토토 와이즈 토토 스포츠 토토 와이즈 토토 기능.
thedate_part
함수는 전통적으로 모델링됩니다IngresSQL스탠드 함수추출물
:
date_part ( '필드
',소스
)
여기서필드
매개 변수는 이름이 아닌 문자열 값이어야합니다. 유효한 필드 이름date_part
와 동일합니다추출물
. 역사적 이유로date_part
함수 유형 값을 반환이중 정밀도
. 이로 인해 특정 용도에서 정밀도가 손실 될 수 있습니다. 사용Extract
대신 권장됩니다.
date_part ( 'day', timestamp '2001-02-16 20:38:40'); 선택와이즈 토토 :16
date_part ( '시간', 간격 '4 시간 3 분'); 선택와이즈 토토 :4
date_trunc
#함수date_trunc
개념적으로trunc
숫자에 대한 기능.
date_trunc (필드
,소스
[,time_zone
])
소스
유형의 값 표현식입니다타임 스탬프
, 시간대가있는 타임 스탬프
또는간격
. (유형의 값날짜
andTime
자동으로 캐스트됩니다타임 스탬프
또는간격
각각.)필드
입력 값을 잘라낼 정밀도를 선택합니다. 반환 값은 마찬가지로 유형입니다.타임 스탬프
, 시간대가있는 타임 스탬프
또는간격
, 그리고 선택한 하나의 세트보다 덜 중요하지 않은 모든 필드가 0으로 (또는 요일 및 월).
유효한 값필드
are :
마이크로 초 |
milliseconds |
Second |
Minute |
Hour |
day |
Week |
Month |
Quarter |
년 |
10 년 |
Century |
밀레니엄 |
입력 값이 유형 인 경우시간대가있는 타임 스탬프
, 절단은 특정 시간 구역과 관련하여 수행된다. 예를 들어, 잘린day
해당 구역에서 자정 인 값을 생성합니다. 기본적으로 잘린 것은 전류와 관련하여 수행됩니다TimeZone설정, 그러나 선택 사항time_zone
다른 시간대를 지정하기 위해 인수를 제공 할 수 있습니다. 시간대 이름은에 설명 된 모든 방법으로 지정할 수 있습니다.섹션 8.5.3.
처리 할 때 시간대를 지정할 수 없습니다시간대가없는 타임 스탬프
또는간격
입력. 이들은 항상 액면가로 취합니다.
예제 (현지 시간대가America/New_York
) :
date_trunc ( '시간', 타임 스탬프 '2001-02-16 20:38:40'); 선택와이즈 토토 :2001-02-16 20:00:00
date_trunc ( 'year', timestamp '2001-02-16 20:38:40'); 선택와이즈 토토 :2001-01-01 00:00:00
date_trunc ( 'day', 시간대가있는 타임 스탬프 '2001-02-16 20 : 38 : 40+00'); 선택와이즈 토토 :2001-02-16 00:00:00-05
date_trunc ( 'day', 시간대가있는 타임 스탬프 '2001-02-16 20 : 40+00', 'Australia/Sydney');;와이즈 토토 :2001-02-16 08:00:00-05
date_trunc ( '시간', 간격 '3 일 02:47:33'); 선택와이즈 토토 :3 일 02:00:00
date_bin
#함수date_bin
“bins”지정된 구간으로의 입력 타임 스탬프 (스트라이드) 지정된 원점과 정렬되었습니다.
date_bin (스트라이드
,소스
,원산지
)
소스
유형의 값 표현식입니다타임 스탬프
또는시간대가있는 타임 스탬프
. (유형의 값날짜
자동으로 캐스트됩니다타임 스탬프
.)스트라이드
유형의 값 표현식입니다간격
. 반환 값은 마찬가지로 유형입니다.타임 스탬프
또는시간대가있는 타임 스탬프
소스
배치.
예 :
date_bin ('15 분 ', 타임 스탬프'2020-02-11 15:44:17 ', 타임 스탬프'2001-01-01 ');;와이즈 토토 :2020-02-11 15:30:00
date_bin ('15 분 ', 타임 스탬프'2020-02-11 15:44:17 ', 타임 스탬프'2001-01-01 00:02:30 ');;와이즈 토토 :2020-02-11 15:32:30
전체 장치 (1 분, 1 시간 등)의 경우 유사한 결과와 동일한 결과를 제공합니다date_trunc
전화를 걸지만 차이점은입니다.date_bin
임의의 간격으로 잘릴 수 있습니다.
the스트라이드
간격은 0보다 크고 월 이상의 단위를 포함 할 수 없어야합니다.
at 타임 존
#the와이즈 토토에서
운영자 변환 타임 스탬프없음타임 영역으로/시간 스탬프with시간대 및와이즈 토토가있는 시간
다른 시간대에 대한 값.표 9.34변형을 보여줍니다.
표 9.34. 와이즈 토토에서
변형
운영자 설명 예제 |
---|
주어진 타임 스탬프 변환없음와이즈 토토에서 타임 스탬프with주어진 값이 지정된 시간대에 있다고 가정하면 시간대
|
주어진 타임 스탬프 변환with와이즈 토토에서 타임 스탬프없음해당 구역에 시간이 나타날 때 시간대
|
주어진 시간 변환with새로운 시간대로의 시간대. 날짜가 제공되지 않으므로 이름이 지정된 대상 영역에 대한 현재 활성 UTC 오프셋을 사용합니다.
|
이 표현에서 원하는 시간대Zone
텍스트 값으로 지정할 수 있습니다 (예 :'America/Los_angeles'
) 또는 간격으로 (예 :간격 '-08 : 00'
). 텍스트의 경우, 시간대 이름은에 설명 된 모든 방법으로 지정할 수 있습니다.섹션 8.5.3. 간격 케이스는 UTC에서 오프셋이 고정 된 영역에만 유용하므로 실제로는 일반적이지 않습니다.
예제 (현재를 가정TimeZone설정은America/Los_angeles
) :
TimeStamp '2001-02-16 20:38:40'At Time Zone 'America/Denver'; 선택하십시오.와이즈 토토 :2001-02-16 19:38:40-08
Time Zone '2001-02-16 20 : 38 : 40-05'At Time Zone 'America/Denver';로 타임 스탬프를 선택하십시오.와이즈 토토 :2001-02-16 18:38:40
Timestamp '2001-02-16 20:38:40'At Time Zone 'Asia/Tokyo'at Time Zone 'America/Chicago'; 선택와이즈 토토 :2001-02-16 05:38:40
첫 번째 예제는 타임 존을 부족한 값에 추가하고 현재를 사용하여 값을 표시합니다TimeZone
설정. 두 번째 예제는 타임 스탬프를 시간대 값으로 지정된 시간대로 이동시키고 시간대없이 값을 반환합니다. 이것은 현재와 다른 값의 저장 및 표시를 허용합니다타임 존
설정. 세 번째 예는 도쿄 시간을 시카고 시간으로 전환합니다.
함수
SQL-Conforming Construct와 동일합니다TimeZone
(Zone
, 타임 스탬프
)
.타임 스탬프
와이즈 토토에서Zone
PostgreSQL현재 날짜 및 시간과 관련된 값을 반환하는 여러 기능을 제공합니다. 이 SQL 표준은 현재 트랜잭션의 시작 시간에 따라 모든 반환 값을 기능합니다.
current_date current_time current_timestamp current_time (정밀
) current_timestamp (정밀
) 로컬 타임 localtimestamp 로컬 타임 (정밀
) LocalTimestamp (정밀
)
current_time
andcurrent_timestamp
시간대와 함께 값을 전달;LocalTime
andLocalTimestamp
시간대가없는 값 전달.
current_time
, current_timestamp
, LocalTime
및LocalTimestamp
선택적으로 정밀 매개 변수를 가져갈 수있어 결과가 초 필드의 많은 분수 숫자로 반올림됩니다. 정밀 매개 변수가 없으면 결과는 사용 가능한 전체 정밀도로 제공됩니다.
일부 예 :
current_time을 선택하십시오;와이즈 토토 :14:39:53.662522-05
current_date; 선택와이즈 토토 :2019-12-23
current_timestamp; 선택와이즈 토토 :2019-12-23 14:39:53.662522-05
current_timestamp (2); 선택와이즈 토토 :2019-12-23 14:39:53.66-05
LocalTimestamp를 선택하십시오.와이즈 토토 :2019-12-23 14:39:53.662522
이 함수는 현재 트랜잭션의 시작 시간을 리턴하므로 거래 중에 그 값이 변경되지 않습니다. 이것은 특징으로 간주됩니다. 의도는 단일 트랜잭션이 일관된 개념을 갖도록하는 것입니다.“현재”시간, 동일한 트랜잭션 내에서 다중 수정이 같은 시간 스탬프를 부여하도록합니다.
다른 데이터베이스 시스템이 이러한 값을 더 자주 발전시킬 수 있습니다.
PostgreSQL또한 현재 문의 시작 시간을 반환하는 함수와 순간의 실제 전류 시간을 제공합니다. 비 SQL 표준 시간 기능의 전체 목록은 다음과 같습니다.
transaction_timestamp () state_timestamp () clock_timestamp () 시간의 시간 () 지금()
Transaction_TimeStamp ()
current_timestamp
이지만 반환 내용을 명확하게 반영하도록 명명되었습니다.station_timestamp ()
현재 문의 시작 시간을 반환합니다 (특히 클라이언트로부터 최신 명령 메시지를 수신하는 시간)..station_timestamp ()
andtransaction_timestamp ()
트랜잭션의 첫 명령 중에 동일한 값을 반환하지만 후속 명령 중에는 다를 수 있습니다.clock_timestamp ()
실제 현재 시간을 반환하므로 단일 SQL 명령 내에서도 값이 변경됩니다.TimeOfday ()
역사적PostgreSQL함수. 좋다clock_timestamp ()
, 실제 현재 시간을 반환하지만 형식으로텍스트
a가 아닌 문자열시간대가있는 타임 스탬프
value.now ()
전통적인PostgreSQL동등한transaction_timestamp ()
.
모든 날짜/시간 데이터 유형은 특별한 리터럴 값도 허용now
현재 날짜와 시간을 지정하려면 (다시, 트랜잭션 시작 시간으로 해석). 따라서 다음 세 가지 모두 동일한 결과를 반환합니다.
select current_timestamp; 지금 ()을 선택하십시오. 타임 스탬프 '지금'을 선택하십시오. -하지만 아래 팁 참조
예를 들어 a와 같이 나중에 평가할 값을 지정할 때 세 번째 양식을 사용하지 마십시오.기본값
테이블 열의 조항. 시스템이 변환됩니다now
to a타임 스탬프
상수가 구문 분석하자마자 기본값이 필요할 때 테이블 생성 시간이 사용됩니다! 처음 두 가지 양식은 기본값이 사용될 때까지 평가되지 않습니다. 함수 호출이기 때문입니다. 따라서 이들은 행 삽입 시간에 대한 불이행의 원하는 동작을 제공 할 것입니다. (참조섹션 8.5.1.4.)
서버 프로세스의 실행을 지연시키기 위해 다음 기능을 사용할 수 있습니다.
pg_sleep (이중 정밀도
) pg_sleep_for (간격
) pg_sleep_until (시간대가있는 타임 스탬프
)
PG_SLEEP
주어진 초 수가 경과 할 때까지 현재 세션의 프로세스를 잠들게합니다. 분수 초 지연을 지정할 수 있습니다.PG_SLEEP_FOR
수면 시간을 A로 지정할 수 있도록 편의 기능입니다.간격
. pg_sleep_until
는 특정 모닝 시간이 필요한 경우 편의 기능입니다. 예를 들어:
선택 PG_SLEEP (1.5); pg_sleep_for ( '5 분')를 선택하십시오. pg_sleep_until을 선택하십시오 ( '내일 03:00');
수면 간격의 효과적인 해상도는 플랫폼 별입니다. 0.01 초는 공통 값입니다. 수면 지연은 최소한 지정된만큼 길다. 서버로드와 같은 요소에 따라 더 길 수 있습니다. 특히,pg_sleep_until
지정된 시간에 정확히 깨어나는 것이 보장되지는 않지만 이전에는 깨어나지 않습니다.
호출 할 때 세션이 필요 이상으로 더 많은 자물쇠를 보유하지 않도록하십시오PG_SLEEP
또는 그 변형. 그렇지 않으면 다른 세션이 수면 과정을 기다려야 전체 시스템을 늦추어야 할 수도 있습니다.
올바른 문서에 아무것도 표시되면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면