thePostgreSQL서식 기능은 다양한 변환을위한 강력한 도구 세트를 제공합니다. 토토 베이 유형 (날짜/시간, 정수, 부동 소수점, 숫자) 형식의 문자열 및 형식으로부터 형식화 된 문자열에서 변환하기 위해 특정 토토 베이 유형.테이블 9-20나열됩니다. 이 기능은 모두 공통의 부름을 따릅니다 컨벤션 : 첫 번째 논쟁은 형식화 될 값이며 두 번째 인수는 출력을 정의하거나 입력 형식.
theTO_TIMESTAMP
함수는 할 수 있습니다
또한 싱글이중 정밀UNIX Epoch에서로 변환하는 인수타임 스탬프
시간대와 함께. (정수유닉스 에포크
암시 적으로 캐스트 됨더블
정도.)
표 9-20. 함수 서식
기능 | 반환 토토 베이 | 설명 | example |
---|---|---|---|
토토 베이 (타임 스탬프, 텍스트) |
텍스트 | 타임 스탬프를 문자열로 변환 | 토토 베이 (current_timestamp, 'hh12 : mi : ss') |
토토 베이 (간격,
텍스트) |
텍스트 | 간격을 문자열로 변환 | 토토 베이 (간격 '15H 2M 12S', 'HH24 : MI : SS') |
토토 베이 (int,
텍스트) |
텍스트 | 정수를 문자열로 변환 | 토토 베이 (125, '999') |
토토 베이 (더블
정도, 텍스트) |
텍스트 | 실제/이중 정밀도를 문자열로 변환 | 토토 베이 (125.8 :: Real, '999d9') |
토토 베이 (숫자,
텍스트) |
텍스트 | 숫자를 문자열로 변환 | 토토 베이 (-125.8, '999d99s') |
to_date (텍스트,
텍스트) |
날짜 | 날짜로 문자열 변환 | TO_DATE ('05 Dec 2000 ', 'dd mon yyyy') |
to_number (텍스트,
텍스트) |
숫자 | 문자열을 숫자로 변환 | to_number ('12, 454.8- ', '99G999D9S') |
TO_TIMESTAMP (텍스트, 텍스트) |
시간대가있는 타임 스탬프 | 스트링을 타임 스탬프로 변환 | TO_TIMESTAMP ('05 Dec 2000 ', 'dd mon yyyy') |
TO_TIMESTAMP (더블
정도) |
시간대가있는 타임 스탬프 | Unix Epoch 변환 타임 스탬프 | TO_TIMESTAMP (200120400) |
출력 템플릿 문자열에서 (for토토 베이
), 특정 패턴이 있습니다
적절한 형식의 데이터로 인식 및 대체되었습니다
포맷 할 값. 템플릿이 아닌 텍스트
패턴은 간단하게 복사됩니다. 마찬가지로 입력에
템플릿 문자열 (무엇이든토토 베이
), 템플릿 패턴 부분을 식별합니다
살펴볼 입력 토토 베이 문자열과
거기에서 발견되었습니다.
테이블 9-21서식에 사용할 수있는 템플릿 패턴을 보여줍니다 날짜 및 시간 값.
표 9-21. 날짜/시간에 대한 템플릿 패턴 서식
패턴 | 설명 |
---|---|
HH | 시간의 시간 (01-12) |
HH12 | 시간의 시간 (01-12) |
HH24 | 시간의 시간 (00-23) |
mi | 분 (00-59) |
SS | Second (00-59) |
MS | 밀리 초 (000-999) |
US | 마이크로 초 (000000-99999) |
SSSS | 자정을지나 초 (0-86399) |
am또는A.M.또는PM또는p.m. | 자오 표시기 (대문자) |
am또는A.M.또는PM또는p.m. | 자오선 표시기 (소문자) |
y, yyy | Comma와 함께 연도 (4 개 이상의 자리) |
yyyy | 연도 (4 개 이상의 숫자) |
yyy | 지난 3 자리 |
yy | 지난 2 자리 |
y | 올해의 마지막 숫자 |
iyyy | ISO 연도 (4 개 이상의 자리) |
iyy | ISO 연도의 마지막 3 자리 |
iy | ISO 연도의 마지막 2 자리 |
i | ISO 연도의 마지막 숫자 |
BC또는B.C.또는ad또는a.d. | ERA 표시기 (대문자) |
BC또는B.C.또는ad또는a.d. | ERA 표시기 (소문자) |
Month | 전체 대문자 이름 (빈 태워드에 9 숯) |
Month | Full Mixed-Case Month Name (BlankPadded to 9 숯) |
Month | 전체 소문 달 이름 (빈 정지대로 9 숯) |
Mon | 약식 대문자 달 이름 (영어로 된 3 숯, 현지화 된 길이는 다릅니다) |
Mon | 약식 혼합 월 이름 (3 문자 in 영어, 현지 길이는 다양) |
mon | 약식 소문 달 이름 (영어로 된 3 숯, 현지화 된 길이는 다릅니다) |
mm | 월 번호 (01-12) |
day | 전체 대문사 날 이름 (빈 태워드에 9 숯) |
day | 전체 혼합 날짜 이름 (BlankPadded to 9 숯) |
day | 전체 소문 일 이름 (빈 태워드에 9 숯) |
dy | 약식 대문자 날 이름 (영어로 된 3 숯, 현지화 된 길이는 다릅니다) |
dy | 약식 혼합 사례 날 이름 (영어로 된 3 숯, 3 숯, 현지화 된 길이는 다릅니다) |
dy | 약식 소문의 날 이름 (영어로 된 3 숯, 3 숯, 현지화 된 길이는 다릅니다) |
DDD | 연도 (001-366) |
iddd | ISO 일의 날 (001-371; 올해의 1 일째는 월요일입니다. 첫 번째 ISO 주간.) |
DD | 매월 (01-31) |
d | 주일, 일요일 (1) 토요일까지 (7) |
id | ISO 주일, 월요일 (1) ~ 일요일 (7) |
W | 월 주 (1-5) (첫 주가 시작됩니다. 월 첫날.) |
ww | 주간 수 (1-53) (첫 주가 시작됩니다. 연중 첫날.) |
iw | ISO 주 주 수 (1-53; 첫 번째 목요일 새해는 1 주차입니다.) |
CC | Century (2 자리) (21 세기는 시작됩니다 2001-01-01에.) |
J | Julian Day (기원전 4714 년 11 월 24 일 이후 자정) |
Q | Quarter |
rm | 로마 숫자의 달 (i-xii; i = 1 월) (대문자) |
rm | 로마 숫자의 달 (i-xii; i = 1 월) (소문자) |
TZ | 시간대 이름 (대문자) |
TZ | 시간대 이름 (소문자) |
특정 수정자는 모든 템플릿 패턴에 적용 할 수 있습니다. 행동을 변경하십시오. 예를 들어,fmmonthMonth패턴FM수정 자.표 9-22날짜/시간 동안 수정 자 패턴을 보여줍니다 서식.
표 9-22. 템플릿 패턴 수정 자 날짜/시간 형식
Modifier | 설명 | example |
---|---|---|
FMprefix | 채우기 모드 (패딩 블랭크 및 제로 억제) | fmmonth |
th접미사 | 대문자 안수 번호 접미사 | ddth |
th접미사 | 소문자 서수 접미사 | ddth |
FX접두사 | 고정 형식 글로벌 옵션 (사용 메모 참조) | fx month dd day |
TMprefix | 번역 모드 (현지일 및 월 이름 인쇄 기반lc_messages) | tmmonth |
SP접미사 | 주문 모드 (아직 구현되지 않음) | DDSP |
날짜/시간 형식에 대한 사용 메모 :
FM주요 0을 억제합니다 그렇지 않으면 추가로 추가되는 후행 블랭크 패턴의 출력은 고정 된 범위입니다.
TM후행은 포함되지 않습니다 공백.
TO_TIMESTAMP
andto_date
다중 공백을 건너 뜁니다
입력 문자열의 공백 인 경우fx옵션이 사용되지 않습니다.fx템플릿의 첫 번째 항목으로 지정됩니다. 예를 들어TO_TIMESTAMP ( '2000 Jun',
'yyyy mon')정확하지만TO_TIMESTAMP ( '2000 Jun',
'fxyyyy mon')오류를 반환합니다.TO_TIMESTAMP
하나의 공간 만 기대합니다.
일반 텍스트가 허용됩니다토토 베이
템플릿 및 출력이됩니다
문자 그대로. 이중 인용문으로 하위 문자열을 넣을 수 있습니다.
포함하더라도 문자 그대로 텍스트로 해석됩니다.
패턴 키워드. 예를 들어,' "Hello Year"yyyy', Theyyyy는 해 토토 베이로 대체 될 것입니다
싱글yinYear.
출력에 이중 견적을 원한다면 예를 들어 백 슬래시로 우선합니다e '\\ "yyyy month \\"'. (두 개의 백 슬래시가 있습니다 백 슬래시에는 이미 특별한 의미가 있기 때문에 필요합니다 Escape String Syntax를 사용할 때.)
theyyyy문자열에서 변환 에게타임 스탬프또는날짜1 년을 사용하면 제한이 있습니다 4 자리 이상. 당신은 비수록 문자를 사용해야합니다 템플릿 이후yyyy, 그렇지 않으면 연도는 항상 4 자리로 해석됩니다. 예를 들어 ( 20000 년) :to_date ( '200001131', 'yyyymmdd')4 자리로 해석됩니다. 대신와 같이 연중 이후에 비수분 분리기를 사용하십시오to_date ( '20000-1131', 'yyyy-mmdd')또는TO_DATE ( '200000NOV31', 'yyyymondd').
문자열에서로 변환타임 스탬프또는날짜, TheCCA가 있으면 필드가 무시됩니다yyy, yyyy또는y, yyy필드. 만약에CCyy또는y그런 다음 해는로 계산됩니다.(CC-1)*100+yy.
ISO 주 날짜 (그레고리 데이트와는 별개)
지정TO_TIMESTAMP
andto_date
두 중 하나에서
방법 :
연도, 주 및 주중, 예를 들어to_date ( '2006-42-4', 'iyyy-iw-id')반환 날짜2006-10-19. 당신이 생략하면 평일은 1 (월요일)으로 간주됩니다.
연도 및 연말, 예를 들어to_date ( '2006-291', 'iyyy-iddd')또한 보고2006-10-19.
ISO 주간 혼합물을 사용하여 날짜를 건설하려고 그리고 Gregorian Date Fields는 무의미하며 양보 할 수 있습니다 예상치 못한 결과. ISO 연도의 맥락에서 '달'또는 '달의 날'의 개념은 의미가 없습니다. 에서 Gregorian 년의 맥락에서, ISO 주간에는 의미가 없습니다. 사용자는 Gregorian 및 ISO 날짜를 유지하도록주의해야합니다. 사양 별도.
millisecond (MS) 및 마이크로 초 (US) 변환의 값 문자열타임 스탬프의 일부로 사용됩니다 소수점 다음 초. 예를 들어TO_TIMESTAMP ('12 : 3 ','SS : MS ')는 3이 아닙니다 전환이 12로 계산되기 때문에 밀리 초, 300은 300입니다. + 0.3 초. 이것은 형식을 의미합니다SS : MS, 입력 값12:3, 12:30및12:300동일한 숫자를 지정하십시오 밀리 초. 3 밀리 초를 얻으려면 사용해야합니다12:003AS 12 + 0.003 = 12.003 초.
여기 더 복잡한 예가 있습니다 :TO_TIMESTAMP ('15 : 12 : 02.020.001230 ', 'HH : MI : ss.ms.us')15 시간, 12 분 및 2 초입니다 + 20 밀리 초 + 1230 마이크로 초 = 2.021230 초.
토토 베이 (..., 'id')
32486_32535Extract (Isodow에서 ...)
기능이지만토토 베이 (..., 'd')
's는 그렇지 않습니다
성냥Extract (Dow from ...)
's
날 번호 매기기.
토토 베이 (Interval)
형식HH및HH12하루 만에 몇 시간 동안HH24예를 들어 하루를 초과하는 시간을 출력 할 수 있습니다. 24.
테이블 9-23서식에 사용할 수있는 템플릿 패턴을 표시합니다 숫자 값.
표 9-23. 숫자의 템플릿 패턴 서식
패턴 | 설명 |
---|---|
9 | 지정된 숫자 수의 값 |
0 | 주요 0을 가진 가치 |
.(기간) | 소수점 |
,(쉼표) | 그룹 (천) 분리기 |
PR | 각도 괄호의 음수 값 |
S | 숫자에 고정 된 사인 (로케일 사용) |
l | 통화 기호 (로케일 사용) |
d | 소수점 지점 (로케일 사용) |
g | 그룹 분리기 (로케일 사용) |
mi | 지정된 위치에 표시 (숫자 < 0) |
pl | 지정된 위치에 서명 (번호 0) |
SG | plus/minus sign in specified position |
RN | 로마 숫자 (1과 3999 사이의 입력) |
th또는TH | 서수 접미사 |
V | 지정된 숫자 숫자 수 (참조 참조) |
eeee | 과학 표기법 (아직 구현되지 않음) |
숫자 형식에 대한 사용 메모 :
사용 서명SG, pl또는mi는 숫자에 고정되어 있지 않습니다. 예를 들어,토토 베이 (-12, 'S9999')생산' -12 '그러나토토 베이 (-12, 'MI9999')생산'-12'. Oracle 구현 사용을 허용하지 않습니다mi앞서 의9하지만 오히려9precedemi.
9있는 것과 같은 수의 숫자9s. 숫자를 사용할 수없는 경우 출력 a 공간.
th값을 덜 변환하지 않습니다 0보다 분수 숫자를 변환하지 않습니다.
pl, SG, 그리고tharePostgreSQL확장.
V효과적으로 곱합니다
입력 값10^n, 여기서n다음 자리 수는입니다.V. 토토 베이
사용을 지원하지 않습니다V소수점과 결합.
(예 :99.9V99허용되지 않습니다.)
테이블
9-24사용의 일부 예를 보여줍니다토토 베이
기능.
표 9-24.토토 베이
예
표현 | 결과 |
---|---|
토토 베이 (current_timestamp, 'Day, DD HH12 : MI : SS') | '화요일, 06 05:39:18' |
토토 베이 (current_timestamp, 'fmday, fmdd hh12 : mi : ss') | '화요일, 6 05:39:18' |
토토 베이 (-0.1, '99 .99 ') | ' -.10 ' |
토토 베이 (-0.1, 'fm9.99') | '-. 1' |
토토 베이 (0.1, '0.9') | ' 0.1 ' |
토토 베이 (12, '9990999.9') | ' 0012.0 ' |
토토 베이 (12, 'FM9990999.9') | '0012.' |
토토 베이 (485, '999') | ' 485 ' |
토토 베이 (-485, '999') | '-485' |
토토 베이 (485, '9 9 9') | ' 4 8 5 ' |
토토 베이 (1485, '9,999') | ' 1,485 ' |
토토 베이 (1485, '9G999') | ' 1 485 ' |
토토 베이 (148.5, '999.999') | ' 148.500 ' |
토토 베이 (148.5, 'FM999.999') | '148.5' |
토토 베이 (148.5, 'FM999.990') | '148.500' |
토토 베이 (148.5, '999d999') | ' 148,500 ' |
토토 베이 (3148.5, '9G999D999') | ' 3 148,500 ' |
토토 베이 (-485, '999S') | '485-' |
토토 베이 (-485, '999mi') | '485-' |
토토 베이 (485, '999mi') | '485' |
토토 베이 (485, 'FM999MI') | '485' |
토토 베이 (485, 'PL999') | '+485' |
토토 베이 (485, 'SG999') | '+485' |
토토 베이 (-485, 'sg999') | '-485' |
토토 베이 (-485, '9SG99') | '4-85' |
토토 베이 (-485, '999PR') | '<485' |
토토 베이 (485, 'l999') | 'DM 485 |
토토 베이 (485, 'rn') | ' cdlxxxv ' |
토토 베이 (485, 'fmrn') | 'CDLXXXV' |
토토 베이 (5.2, 'fmrn') | 'V' |
토토 베이 (482, '999th') | ' 482nd ' |
토토 베이 (485, ' "좋은 숫자 :"999') | '좋은 번호 : 485' |
토토 베이 (485.8, ' "pre :"99 "post :".999') | 'pre : 485 게시물 : .800' |
토토 베이 (12, '99V999') | ' 12000 ' |
토토 베이 (12.4, '99V999') | ' 12400 ' |
토토 베이 (12.45, '99V9') | ' 125 ' |