이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 9.8. 데이터 유형 토토 결과 토토 결과 기능버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.8. 데이터 유형 형식 기능

thePostgreSQL서식 기능은 다양한 변환을위한 강력한 도구 세트를 제공합니다. 데이터 유형 (날짜/시간, 정수, 부동 소수점, 숫자) 형식의 문자열 및 형식으로부터 형식화 된 문자열에서 변환하기 위해 특정 데이터 유형.테이블 9-20나열됩니다. 이 기능은 모두 공통의 부름을 따릅니다 컨벤션 : 첫 번째 논쟁은 형식화 될 값이며 두 번째 인수는 출력을 정의하거나 입력 형식.

단일 학습TO_TIMESTAMP함수도 사용할 수 있습니다. a를 받아들입니다.더블 정도인수와 Unix Epoch에서 변환 (초 1970-01-01 00 : 00 : 00+00) 이후타임 스탬프와 시간대. (정수UNIX Epochs는입니다 암시 적으로 캐스트이중 정밀.)

표 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 (1284352323)

at토토출력 템플릿 문자열, 인식되는 특정 패턴이 있습니다 주어진에 따라 적절한 형식의 데이터로 대체되었습니다 값. 템플릿 패턴이 아닌 텍스트는 간단히 복사됩니다. 구두. 마찬가지로, 입력 템플릿 문자열 (다른 하나용 함수), 템플릿 패턴은 제공 할 값을 식별합니다 입력 데이터 문자열에 의해.

테이블 9-21서식에 사용할 수있는 템플릿 패턴을 표시합니다 날짜 및 시간 값.

표 9-21. 날짜/시간에 대한 템플릿 패턴 서식

패턴 설명
HH 시간의 시간 (01-12)
HH12 시간의 시간 (01-12)
HH24 시간의 시간 (00-23)
mi 분 (00-59)
SS Second (00-59)
MS millisecond (000-999)
US 마이크로 초 (000000-999999)
SSSS 자정을지나 초 초 (0-86399)
am, am, PM또는PM Meridiem 표시기 (기간 없음)
A.M., A.M., p.m.또는p.m. Meridiem 표시기 (기간 포함)
y, yyy Comma와 함께 연도 (4 개 이상의 자리)
yyyy 연도 (4 개 이상의 숫자)
yyy 지난 3 자리
yy 지난 2 자리
y 연도의 마지막 숫자
iyyy ISO 연도 (4 개 이상의 숫자)
iyy ISO 연도의 마지막 3 자리
iy ISO 연도의 마지막 2 자리
i ISO 연도의 마지막 숫자
BC, BC, ad또는ad ERA 지표 (기간 없음)
B.C., B.C., a.d.또는a.d. ERA 표시기 (기간 포함)
Month 전체 대문자 이름 (빈 태워드에 9 숯)
Month 전체 대문자 월 이름 (빈 정지대로 9 숯)
Month 전체 소문 달 이름 (빈 태디에 9 숯)
mon 약칭 대문자 달 이름 (영어로 된 3 숯, 현지화 된 길이는 다릅니다)
Mon 약식 대문자 월 이름 (3 문자 in 영어, 현지 길이는 다양)
Mon 약식 소문 달 이름 (영어로 된 3 숯, 현지화 된 길이는 다릅니다)
mm 월 번호 (01-12)
day 전체 대문일 날 이름 (빈 태워드에 9 숯)
day 전체 대문자 일자 이름 (빈 태워드에 9 숯)
day 전체 소문주일 이름 (빈 정지 상태 9 숯)
dy 약식 대문자 날 이름 (영어로 된 3 숯, 현지화 된 길이는 다릅니다)
dy 약식 자본화 된 날 이름 (영어로 된 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 주 주 수 (01-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 소문자 시간 영역 이름

수정자를 템플릿 패턴에 적용하여 변경할 수 있습니다. 행동. 예를 들어,fmmonthMonthFM수정 자.표 9-22날짜/시간에 대한 수정 자 패턴을 보여줍니다 서식.

표 9-22. 템플릿 패턴 수정 자 날짜/시간 형식

Modifier 설명 example
FM접두사 채우기 모드 (패딩 블랭크 및 제로 억제) fmmonth
th접미사 대문자 안수 번호 접미사 ddth, 예 :12th
th접미사 소문자 서수 접미사 ddth, 예 :12th
fxprefix 고정 형식 글로벌 옵션 (사용 메모 참조) fx month dd day
TMprefix 번역 모드 (현지일 및 월 이름 인쇄 기반LC_TIME) tmmonth
SP접미사 주문 모드 (구현되지 않음) DDSP

날짜/시간 형식에 대한 사용 메모 :

  • FM주요 제로를 억제합니다 그렇지 않으면 추가로 추가되는 후행 블랭크 패턴의 출력은 고정 된 범위입니다.

  • TM후드는 포함되지 않습니다 공백.

  • TO_TIMESTAMPandto_date다중 비어를 건너 뜁니다 입력 문자열의 공백이 아닌 한FX옵션이 사용됩니다. 예를 들어,TO_TIMESTAMP ( '2000 Jun', 'yyyy mon')작품이지만TO_TIMESTAMP ( '2000 Jun', 'fxyyyy mon')오류를 반환하기 때문에TO_TIMESTAMP하나의 공간 만 기대합니다.FX첫 번째로 지정해야합니다 템플릿의 항목.

  • 일반 텍스트가 허용됩니다토토템플릿 및 출력이됩니다 문자 그대로. 이중 인용문으로 하위 문자열을 넣을 수 있습니다. 포함하더라도 문자 그대로 텍스트로 해석됩니다. 패턴 키워드. 예를 들어,' "Hello Year"yyyy', Theyyyy는 해 데이터로 대체 될 것입니다 싱글yinYear.

  • 출력에 이중 견적을 원한다면 예를 들어 백 슬래시로 우선합니다e '\\ "yyyy month \\"'. (두 개의 백 슬래시가 있습니다 백 슬래시가 특별한 의미를 갖기 때문에 필요합니다 Escape String Syntax 사용)

  • theyyyy문자열에서 변환 에게타임 스탬프또는날짜처리 할 때 제한이 있습니다 4 자리 이상. 당신은 비수록 문자를 사용해야합니다 템플릿 이후yyyy, 그렇지 않으면 연도는 항상 4 자리로 해석됩니다. 예를 들어 ( 20000 년) :TO_DATE ( '2000001131', 'yyyymmdd')4 자리로 해석됩니다. 대신와 같이 연중 이후에 비수분 분리기를 사용하십시오to_date ( '20000-1131', 'yyyy-mmdd')또는TO_DATE ( '200000NOV31', 'yyyymondd').

  • 문자열에서로 변환타임 스탬프또는날짜,CC(Century) 필드는 무시됩니다yyy, yyyy또는y, yyy필드. 만약에CCyy또는y그런 다음 해 로 계산됩니다.(CC-1)*100+yy.

  • ISO 주일 날짜 (그레고리 데이트와는 별개) 지정TO_TIMESTAMPandto_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 연도의 맥락에서 A의 개념"Month"또는"매월"의미가 없습니다. 맥락에서 Gregorian 년의 ISO 주간에는 의미가 없습니다. 사용자 Gregorian과 ISO 날짜를 혼합하지 않아야합니다 명세서.

  • 31522_31555타임 스탬프, millisecond (MS) 또는 마이크로 초 (US) 값은 초 숫자로 사용됩니다 소수점 후. 예를 들어TO_TIMESTAMP ('12 : 3 ','SS : MS ')3이 아닙니다 전환이 12로 계산되기 때문에 밀리 초, 300은 300입니다. + 0.3 초. 이것은 형식을 의미합니다SS : MS, 입력 값12:3, 12:3012:300동일한 숫자를 지정하십시오 밀리 초. 3 밀리 초를 얻으려면 사용해야합니다12:003, 변환 계산 AS 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')의 날 주 번호는와 일치합니다.Extract (Isodow에서 ...)함수이지만토토 (..., 'd')'s는 그렇지 않습니다 성냥Extract (Dow from ...)'s 날 번호 매기기.

  • 토토 (Interval)형식HHandHH12하루 만에 몇 시간 동안HH24예를 들어, 24. 하루를 초과하는 시간을 출력 할 수 있습니다.

테이블 9-23서식에 사용할 수있는 템플릿 패턴을 보여줍니다 숫자 값.

표 9-23. 숫자의 템플릿 패턴 서식

패턴 설명
9 지정된 숫자의 값
0 주요 0을 가진 가치
.(기간) 소수점
,(쉼표) 그룹 (천) 분리기
PR 각도 괄호의 음수 값
S 숫자에 고정 된 사인 (로케일 사용)
l 통화 기호 (로케일 사용)
D 소수점 (로케일 사용)
g 그룹 분리기 (로케일 사용)
MI 지정된 위치에있는 마이너스 부호 (if number < 0)
pl 지정된 위치에 서명 (번호 0)
SG plus/minus sign in speignified 위치
RN 로마 숫자 (1과 3999 사이의 입력)
th또는th 서수 접미사
V 지정된 숫자 수를 바꾸십시오 (참고 참조)
eeee 과학 표기법 (구현되지 않음)

숫자 형식에 대한 사용 메모 :

  • 사용 서명SG, pl또는mi는 숫자에 고정되어 있지 않습니다. 예를 들어,토토 (-12, 'MI9999')생산'-12'그러나토토 (-12, 'S9999')생산'  -12 '. Oracle 구현 사용을 허용하지 않습니다mi9하지만 오히려9precedemi.

  • 9있는 것과 같은 수의 숫자9s. 숫자를 사용할 수없는 경우 출력 a 공간.

  • th값을 덜 변환하지 않습니다 0보다 분수 숫자를 변환하지 않습니다.

  • pl, SG, 그리고tharePostgreSQL확장.

  • V효과적으로 곱합니다 입력 값10^n, 여기서n다음 자리 수입니다V. 토토사용을 지원하지 않습니다V소수점과 결합 (예 :99.9V99허용되지 않음).

특정 수정자는 모든 템플릿 패턴에 적용 할 수 있습니다. 행동을 변경하십시오. 예를 들어,FM99999999FM수정 자.표 9-24숫자의 수정 자 패턴을 보여줍니다 서식.

표 9-24. 템플릿 패턴 수정 자 숫자 서식

수정 자 설명 example
FM접두사 채우기 모드 (패딩 블랭크 및 제로 억제) FM9999
th접미사 대문자 서수 접미사 999th
th접미사 소문자 서수 접미사 999th

테이블 9-25사용의 일부 예를 보여줍니다토토함수.

표 9-25.토토예제

표현 결과
토토 (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') 44707_44712
토토 (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 '