PostgreSQL 기초강의, PostgreSQL 기초강좌
97강 SQL 함수 정리 : PostgreSQL TO_TIMESTAMP Function
SQL 함수 정리 97강 시작합니다.
이번 시간에는
▶ PostgreSQL TO_TIMESTAMP Function
에 대해서 알아보는 시간입니다.
이번 시간에는 PostgreSQL TO_TIMESTAMP() 함수를 사용하여 지정된 형식에 따라 문자열을 타임스탬프로 변환하는 방법을 배우게 됩니다.
PostgreSQL TO_TIMESTAMP 함수 소개
PostgreSQL TO_TIMESTAMP() 함수는 지정된 형식에 따라 문자열을 타임스탬프로 변환합니다.
다음은 TO_TIMESTAMP() 함수의 구문을 보여줍니다:
TO_TIMESTAMP(text, format)
TO_DATE() 함수는 두 개의 문자열 인수를 허용합니다.
첫 번째 인수는 타임스탬프로 변환할 문자열입니다.
두 번째는 입력 형식입니다.
PostgreSQL TO_TIMESTAMP() 함수는 시간대가 포함된 타임스탬프를 반환합니다.
형식 문자열을 구성하려면 다음 템플릿 패턴을 사용하여 날짜 및 시간 값의 형식을 지정합니다.
Pattern | Description |
Y,YYY | year in 4 digits with comma |
YYYY | year in 4 digits |
YYY | last 3 digits of year |
YY | last 2 digits of year |
Y | The last digit of year |
IYYY | ISO 8601 week-numbering year (4 or more digits) |
IYY | Last 3 digits of ISO 8601 week-numbering year |
IY | Last 2 digits of ISO 8601 week-numbering year |
I | Last digit of ISO 8601 week-numbering year |
BC, bc, AD or ad | Era indicator without periods |
B.C., b.c., A.D. ora.d. | Era indicator with periods |
MONTH | English month name in uppercase |
Month | Full capitalized English month name |
month | Full lowercase English month name |
MON | Abbreviated uppercase month name e.g., JAN, FEB, etc. |
Mon | Abbreviated capitalized month name e.g, Jan, Feb, etc. |
mon | Abbreviated lowercase month name e.g., jan, feb, etc. |
MM | month number from 01 to 12 |
DAY | Full uppercase day name |
Day | Full capitalized day name |
day | Full lowercase day name |
DY | Abbreviated uppercase day name |
Dy | Abbreviated capitalized day name |
dy | Abbreviated lowercase day name |
DDD | Day of year (001-366) |
IDDD | Day of ISO 8601 week-numbering year (001-371; day 1 of the year is Monday of the first ISO week) |
DD | Day of month (01-31) |
D | Day of the week, Sunday (1) to Saturday (7) |
ID | ISO 8601 day of the week, Monday (1) to Sunday (7) |
W | Week of month (1-5) (the first week starts on the first day of the month) |
WW | Week number of year (1-53) (the first week starts on the first day of the year) |
IW | Week number of ISO 8601 week-numbering year (01-53; the first Thursday of the year is in week 1) |
CC | Century e.g, 21, 22, etc. |
J | Julian Day (integer days since November 24, 4714 BC at midnight UTC) |
RM | Month in upper case Roman numerals (I-XII; > |
rm | Month in lowercase Roman numerals (i-xii; > |
HH | Hour of day (0-12) |
HH12 | Hour of day (0-12) |
HH24 | Hour of day (0-23) |
MI | Minute (0-59) |
SS | Second (0-59) |
MS | Millisecond (000-9999) |
US | Microsecond (000000-999999) |
SSSS | Seconds past midnight (0-86399) |
AM, am, PM or pm | Meridiem indicator (without periods) |
A.M., a.m., P.M. or p.m. | Meridiem indicator (with periods) |
PostgreSQL TO_TIMESTAMP 예제
다음 문은 TO_TIMESTAMP() 함수를 사용하여 문자열을 타임스탬프로 변환합니다:
SELECT TO_TIMESTAMP(
'2017-03-31 9:30:20',
'YYYY-MM-DD HH:MI:SS'
);
이 예에서
- YYYY는 2017년의 네 자리 숫자
- MM은 03월
- DD는 31일
- HH는 9시
- MI는 30분
- SS는 20초
Remarks
고정 형식 글로벌 옵션(FX 접두사)을 사용하지 않는 한 TO_TIMESTAM() 함수는 입력 문자열의 공백을 건너뜁니다.
이 예에서는 입력 문자열에 여러 개의 공백을 사용합니다:
SELECT
TO_TIMESTAMP('2017 Aug', 'YYYY MON');
그러나 다음 예에서는 오류를 반환합니다:
SELECT
TO_TIMESTAMP('2017 Aug', 'FXYYYY MON');
FX 옵션은 TO_TIMESTAMP() 에게 입력 문자열을 하나의 공백으로만 받아들이도록 지시하기 때문입니다.
TO_TIMESTAMP() 함수는 최소한의 오류 검사로 입력 문자열의 유효성을 검사합니다. 입력 문자열을 가능한 한 유효한 타임스탬프로 변환하려고 시도하지만 때때로 예상치 못한 결과가 발생합니다.
다음 예제에서는 잘못된 타임스탬프 값을 사용합니다:
SELECT
TO_TIMESTAMP('2017-02-31 30:8:00', 'YYYY-MM-DD HH24:MI:SS');
문자열을 타임스탬프로 변환할 때 TO_TIMESTAMP() 함수는 밀리초 또는 마이크로초를 소수점 이후의 초로 처리합니다.
SELECT
TO_TIMESTAMP('01-01-2017 10:2', 'DD-MM-YYYY SS:MS');
이 예에서 2는 2밀리 초가 아니라 200입니다. 그것은 다음을 의미한다:
SELECT
TO_TIMESTAMP('01-01-2017 10:2', 'DD-MM-YYYY SS:MS');
와
SELECT
TO_TIMESTAMP('01-01-2017 10:200', 'DD-MM-YYYY SS:MS');
같은 결과를 반환합니다.
2밀리 초를 얻으려면 01-01-2017 10:002를 사용해야 합니다. 이 경우 002는 2밀리 초에 해당하는 0.002초로 해석됩니다.
연도가 4자리 미만이면 TO_TIMESTAMP()가 가장 가까운 연도로 조정합니다(예: 99는 1999, 17은 2017).
SELECT
TO_TIMESTAMP('12 31 99 12:45', 'MM DD YY HH:MI');
다음과 같은 예를 생각해 보십시오:
SELECT
TO_TIMESTAMP('12 31 16 12:45', 'MM DD YY HH:MI');
가장 가까운 16년은 2016년이므로 다음 결과를 반환합니다:
문자열을 타임스탬프로 변환하기 위해 PostgreSQL TO_TIMESTAMP() 함수를 사용하는 방법을 배웠습니다.
감사합니다.
본 강의는 PostgreSQL Tutorial을 참조합니다. https://www.postgresqltutorial.com/ |
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다. |
'IT > SQL 기초강좌 (PostgreSQL)' 카테고리의 다른 글
99강 SQL 함수 정리 : PostgreSQL Math Functions (56) | 2023.02.10 |
---|---|
98강 SQL 함수 정리 : PostgreSQL String Functions (102) | 2023.02.09 |
96강 SQL 함수 정리 : PostgreSQL TO_DATE Function (152) | 2023.02.07 |
95강 SQL 함수 정리 : PostgreSQL Date/Time Functions (80) | 2023.02.06 |
94강 SQL 함수 정리 : PostgreSQL Date/Time Operators (116) | 2023.02.05 |
댓글