이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 9.8. 데이터 유형 토토 결과 토토 결과 기능버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.8. 토토 베이 유형 형식 기능

포스트그레SQL포맷 중 기능은 다양한 변환을 위한 강력한 도구 세트를 제공합니다. 데이터 유형(날짜/시간, 정수, 부동 소수점, 숫자) 형식화된 문자열 및 형식화된 문자열을 다음으로 변환하는 데 사용됩니다. 특정 데이터 유형.테이블 9-20나열합니다. 이러한 함수는 모두 공통 호출을 따릅니다. 규칙: 첫 번째 인수는 형식을 토토 베이할 값이고 두 번째 인수는 출력을 정의하는 템플릿입니다. 입력 형식입니다.

to_timestamp함수는 싱글도 가져가세요배정밀도Unix epoch에서 다음으로 변환할 인수타임스탬프 시간대 포함. (정수유닉스 시대 암시적으로 캐스팅됩니다.더블 정밀도.)

표 9-20. 서식 기능

기능 반환 토토 베이 설명
to_char(타임스탬프, 텍스트) 텍스트 타임스탬프를 문자열로 변환 to_char(현재_타임스탬프, 'HH12:MI:SS')
to_char(간격, 텍스트) 텍스트 간격을 문자열로 변환 to_char(간격 '15시 2분 12초', 'HH24:MI:SS')
to_char(int, 텍스트) 텍스트 정수를 문자열로 변환 to_char(125, '999')
to_char(더블 정밀도, 텍스트) 텍스트 실수/배정밀도를 문자열로 변환 to_char(125.8::실제, '999D9')
to_char(숫자, 텍스트) 텍스트 숫자를 문자열로 변환 to_char(-125.8, '999D99S')
to_date(텍스트, 텍스트) 날짜 문자열을 날짜로 변환 to_date('2000년 12월 5일', 'DD 월요일 YYYY')
to_number(텍스트, 텍스트) 숫자 문자열을 숫자로 변환 to_number('12,454.8-', '99G999D9S')
to_timestamp(텍스트, 텍스트) 시간대가 포함된 타임스탬프 문자열을 타임스탬프로 변환 to_timestamp('2000년 12월 5일', 'DD 월요일 YYYY')
to_timestamp(더블 정밀도) 시간대가 포함된 타임스탬프 UNIX 시대를 타임스탬프로 변환 to_timestamp(200120400)

출력 템플릿 문자열에서(forto_char), 다음과 같은 특정 패턴이 있습니다. 인식되고 다음의 적절한 형식의 데이터로 대체됩니다. 형식화할 값입니다. 템플릿이 아닌 모든 텍스트 패턴은 단순히 그대로 복사됩니다. 마찬가지로 입력에서 템플릿 문자열(그 외의 경우)to_char), 템플릿 패턴은 부품을 식별합니다. 보려는 입력 토토 베이 문자열과 값 거기서 찾았어요.

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

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

패턴 설명
흐흐 시간(01-12)
HH12 시간(01-12)
HH24 시간(00-23)
분(00-59)
SS 초(00-59)
MS 밀리초(000-999)
미국 마이크로초(000000-999999)
SSSS 자정을 지난 초(0-86399)
오전또는오전또는오후또는오후 자오선 표시(대문자)
오전또는오전또는오후또는p.m. 자오선 표시(소문자)
Y,YYY 연도(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. 연대 표시(대문자)
bc또는b.c.또는광고또는a.d. 연대 표시(소문자)
전체 대문자 월 이름(9까지 공백으로 채워짐) 문자)
대소문자 혼합 전체 월 이름(9까지 공백으로 채워짐) 문자)
전체 소문자 월 이름(9까지 공백으로 채워짐) 문자)
약어 대문자 월 이름(영문 3자, 현지화된 길이는 다양함)
대소문자 혼합 월 이름(3자 이내) 영어, 현지화된 길이는 다양함)
약어 소문자 월 이름(영문 3자, 현지화된 길이는 다양함)
MM 월 번호(01-12)
DAY 전체 대문자 요일 이름(9까지 공백으로 채워짐) 문자)
대소문자가 혼합된 전체 요일 이름(9까지 공백으로 채워짐) 문자)
전체 소문자 요일 이름(9까지 공백으로 채워짐) 문자)
DY 약어 대문자 요일 이름(영문 3자, 현지화된 길이는 다양함)
대소문자 혼합 요일 이름(영문 3자, 현지화된 길이는 다양함)
dy 약어소문자 요일 이름(영문 3자, 현지화된 길이는 다양함)
DDD 일(001-366)
확인 ISO 날짜(001-371; 해당 연도의 1일은 월요일입니다. 첫 번째 ISO 주의 내용입니다.)
DD 일(01-31)
D 요일, 일요일(1) 토요일까지(7)
ID ISO 요일, 월요일(1) ~ 일요일(7)
W 월의 주(1-5)(첫 번째 주는 다음 날짜에 시작됩니다. 매월 1일.)
WW 연도의 주 수(1-53)(첫 번째 주는 다음 날짜에 시작됩니다. 그 해의 첫날.)
IW ISO 주 수(1 - 53; 첫 번째 목요일) 새해는 1주차에 있습니다.)
CC 세기(2자리) (21세기가 시작됩니다. 2001-01-01.)
J 율리우스력 기념일(기원전 4714년 11월 24일 이후 일수) 자정)
Q 분기
RM 로마 숫자로 된 월(I-XII; I=1월) (대문자)
rm 로마 숫자로 된 월(i-xii; i=1월) (소문자)
TZ 시간대 이름(대문자)
tz 시간대 이름(소문자)

특정 수정자는 모든 템플릿 패턴에 적용되어 다음을 수행할 수 있습니다. 행동을 바꾸세요. 예를 들어,FM월이것은패턴이 있는FM수정자.표 9-22날짜/시간에 대한 수정자 패턴을 표시합니다. 서식을 지정합니다.

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

수정자 설명
FM접두사 채우기 모드(패딩 공백 및 0 억제) FM월
TH접미사 대문자 서수 접미사 DDTH
번째접미사 소문자 서수 접미사 DD번째
FX접두사 고정 형식 전역 옵션(사용 참고 사항 참조) FX 월 DD 일
TM접두사 번역 모드(현지화된 요일 및 월 이름 인쇄) 기반으로lc_messages) TM월
SP접미사 주문 모드(아직 구현되지 않음) DDSP

날짜/시간 형식에 대한 사용 참고사항:

  • FM앞에 오는 0을 억제하고 그렇지 않으면 추가될 후행 공백이 패턴의 출력은 고정 너비입니다.

  • TM후행을 포함하지 않음 공백.

  • to_timestamp그리고to_date여러 개의 공백 건너뛰기 다음과 같은 경우 입력 문자열에 공백이 있습니다.FX옵션이 사용되지 않습니다.FX반드시 템플릿의 첫 번째 항목으로 지정됩니다. 예를 들어to_timestamp('2000    6월', 'YYYY 월')맞습니다만to_timestamp('2000    6월', 'FXYYYY 월')오류를 반환합니다. 왜냐하면to_timestamp한 칸만 필요합니다.

  • 일반 텍스트가 허용됩니다.to_char템플릿을 사용하여 출력됩니다. 말 그대로. 하위 문자열을 큰따옴표로 묶어서 강제로 적용할 수 있습니다. 포함되어 있더라도 리터럴 텍스트로 해석됩니다. 패턴 키워드. 예를 들어,'"안녕하세요 년 "YYYY', 그YYYY연도 토토 베이로 대체되지만, 싱글Y연도그렇지 않을 것입니다.

  • 출력에 큰따옴표를 포함하려면 다음을 수행해야 합니다. 예를 들어 백슬래시를 앞에 붙입니다.E'\\"YYYY월\\"'. (두 개의 백슬래시는 백슬래시는 이미 특별한 의미를 갖고 있기 때문에 필요합니다. 이스케이프 문자열 구문을 사용할 때.)

  • YYYY문자열에서 변환 에타임스탬프또는날짜1년을 다음과 같이 사용하면 제한이 있습니다. 4자리 이상. 숫자가 아닌 문자를 사용해야 합니다. 이후 템플릿YYYY, 그렇지 않으면 연도는 항상 4자리 숫자로 해석됩니다. 예를 들어 ( 20000년):to_date('200001131', 'YYYYMMDD')4자리 연도로 해석됩니다. 대신 연도 뒤에 숫자가 아닌 구분 기호를 사용하세요.to_date('20000-1131', 'YYYY-MMDD')또는to_date('20000Nov31', 'YYYYMonDD').

  • 문자열에서 다음으로 변환 시타임스탬프또는날짜, 그CC다음이 있는 경우 필드는 무시됩니다.YYY, YYYY또는Y,YYY필드. 만일CC다음과 함께 사용됨YY또는Y그러면 연도는 다음과 같이 계산됩니다.(CC-1)*100+YY.

  • ISO 주 날짜(그레고리력 날짜와 구별됨)는 다음과 같습니다. 다음과 같이 지정되어야 합니다.to_timestamp그리고to_date둘 중 하나 방법:

    • 연도, 주, 평일 등의 예to_date('2006-42-4', 'IYYY-IW-ID')반환 날짜2006-10-19. 생략하는 경우 평일은 1(월요일)로 간주됩니다.

    • 연도 및 일자, 예를 들어to_date('2006-291', 'IYYY-IDDD')또한 반품2006-10-19.

    ISO 주를 혼합하여 날짜를 구성하려고 시도 중 그레고리력 날짜 필드는 무의미하며 결과가 나올 수 있습니다. 예상치 못한 결과. ISO 연도의 맥락에서, '월'이나 '월의 일'이라는 개념은 의미가 없습니다. 에서 그레고리력의 맥락에서 ISO 주는 의미가 없습니다. 사용자는 그레고리력과 ISO 날짜를 유지하도록 주의해야 합니다. 사양은 별도입니다.

  • 밀리초(MS) 및 마이크로초 (미국) 변환의 값 문자열을타임스탬프다음의 일부로 사용됩니다. 소수점 이하 초. 예를 들어to_timestamp('12:3', 'SS:MS')3이 아닙니다 밀리초이지만 변환에서는 12로 계산되므로 300입니다. + 0.3초. 이는 형식을 의미합니다.SS:MS, 입력값12:3, 12:3012:300동일한 수를 지정하십시오. 밀리초. 3밀리초를 얻으려면 다음을 사용해야 합니다.12:003, 전환이 중요함 12 + 0.003 = 12.003초입니다.

    여기에 더 복잡한 예가 있습니다:to_timestamp('15:12:02.020.001230', 'HH:MI:SS.MS.US')15시간 12분 2초입니다. + 20밀리초 + 1230마이크로초 = 2.021230초.

  • to_char(..., 'ID')의 날 주 번호가 다음과 일치합니다.추출(isodow ...에서)함수이지만to_char(..., 'D')'s는 그렇지 않습니다 일치추출(다우...)의 일 번호 매기기.

  • to_char(간격)형식흐흐그리고HH12하루의 시간으로, 동안HH24하루를 초과하는 시간을 출력할 수 있습니다. 예: 24.

테이블 9-23형식 지정에 사용할 수 있는 템플릿 패턴을 표시합니다. 숫자 값.

표 9-23. 숫자에 대한 템플릿 패턴 서식

패턴 설명
9 토토 베이된 자릿수의 값
0 앞에 0이 있는 값
.(마침표) 소수점
,(쉼표) 그룹 (천) 구분 기호
홍보 꺾쇠 괄호 안의 음수 값
S 번호에 고정된 기호(로케일 사용)
L 통화 기호(로케일 사용)
D 소수점 (로케일 사용)
G 그룹 구분 기호(로케일 사용)
지정된 위치에 빼기 기호(숫자 <인 경우) 0)
PL 지정된 위치에 더하기 기호(숫자 0)
SG 토토 베이된 위치에 더하기/빼기 기호
RN 로마숫자 (1~3999 사이 입력)
TH또는번째 서수 접미사
V 토토 베이된 자릿수 이동(참고 참조)
EEEE 과학적 표기법(아직 구현되지 않음)

숫자 형식 지정에 대한 사용 참고사항:

  • 다음을 사용하여 형식화된 기호SG, PL, 또는은 숫자에 고정되어 있지 않습니다. 예를 들어,to_char(-12, 'S9999')생산'  -12'하지만to_char(-12, 'MI9999')생산'-  12'. 오라클 구현 다음의 사용을 허용하지 않습니다.앞으로 의9, 오히려 그렇게 해야 합니다.9선행.

  • 9결과는 다음과 같은 값입니다. 거기와 같은 자릿수9s. 숫자를 사용할 수 없으면 다음을 출력합니다. 공간.

  • TH값을 더 적게 변환하지 않습니다. 0보다 크고 분수를 변환하지 않습니다.

  • PL, SG, 그리고TH아르포스트그레SQL확장.

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

테이블 9-24사용의 몇 가지 예를 보여줍니다.to_char함수.

표 9-24.to_char

표현 결과
to_char(현재_타임스탬프, '일, DD  HH12:MI:SS') '화요일  , 06  05:39:18'
to_char(현재_타임스탬프, 'FMDay, FMDD  HH12:MI:SS') '화요일, 6  05:39:18'
to_char(-0.1, '99.99') '  -.10'
to_char(-0.1, 'FM9.99') '-.1'
to_char(0.1, '0.9') ' 0.1'
to_char(12, '9990999.9') '    0012.0'
to_char(12, 'FM9990999.9') '0012.'
to_char(485, '999') ' 485'
to_char(-485, '999') '-485'
to_char(485, '9 9 9') ' 4 8 5'
to_char(1485, '9,999') ' 1,485'
to_char(1485, '9G999') ' 1 485'
to_char(148.5, '999.999') ' 148.500'
to_char(148.5, 'FM999.999') '148.5'
to_char(148.5, 'FM999.990') '148.500'
to_char(148.5, '999D999') ' 148,500'
to_char(3148.5, '9G999D999') ' 3 148,500'
to_char(-485, '999S') '485-'
to_char(-485, '999MI') '485-'
to_char(485, '999MI') '485 '
to_char(485, 'FM999MI') '485'
to_char(485, 'PL999') '+485'
to_char(485, 'SG999') '+485'
to_char(-485, 'SG999') '-485'
to_char(-485, '9SG99') '4-85'
to_char(-485, '999PR') '<485'
to_char(485, 'L999') 'DM 485
to_char(485, 'RN') '        CDLXXXV'
to_char(485, 'FMRN') 'CDLXXXV'
to_char(5.2, 'FMRN') '뷔'
to_char(482, '999번째') ' 482번째'
to_char(485, ''좋은 번호:'999') '좋은 번호: 485'
to_char(485.8, '"이전:"999" 게시물:" .999') '이전: 485 포스트: .800'
to_char(12, '99V999') ' 12000'
to_char(12.4, '99V999') ' 12400'
to_char(12.45, '99V9') ' 125'