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

9.8. 데이터 유형 토토 결과 기능

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

표 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_timestamp(텍스트, 텍스트) 시간대가 포함된 타임스탬프 문자열을 타임스탬프로 변환 to_timestamp('2000년 12월 5일', 'DD 월요일 YYYY')
to_number(텍스트, 텍스트) 숫자 문자열을 숫자로 변환 to_number('12,454.8-', '99G999D9S')

경고:to_char(간격, 텍스트)더 이상 사용되지 않으므로 사용해서는 안 됩니다. 새로 작성된 코드에 사용됩니다. 다음에는 삭제될 예정입니다 버전.

출력 템플릿 문자열에서(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)
오전또는오전또는오후또는오후 자오선 표시(대문자)
오전또는오전또는오후또는오후 자오선 표시(소문자)
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.또는광고또는ad. 연대 표시(소문자)
전체 대문자 월 이름(9까지 공백으로 채워짐) 문자)
대소문자 혼합 전체 월 이름(9까지 공백으로 채워짐) 문자)
전체 소문자 월 이름(9까지 공백으로 채워짐) 문자)
대문자로 된 월 이름 약어(3자)
대소문자 혼합 월 이름 약어(3자)
약어 소문자 월 이름(3자)
MM 월 번호(01-12)
DAY 전체 대문자 요일 이름(9까지 공백으로 채워짐) 문자)
대소문자가 혼합된 전체 요일 이름(9까지 공백으로 채워짐) 문자)
전체 소문자 요일 이름(9까지 공백으로 채워짐) 문자)
DY 약어 대문자 요일 이름(3자)
대소문자 혼합 요일 이름 축약형(3자)
dy 약칭 소문자 요일 이름(3자)
DDD 일(001-366)
DD 일(01-31)
D 요일(1-7; 일요일은 1)
W 월의 주(1-5)(첫 번째 주는 다음 날짜에 시작됩니다. 매월 1일.)
WW 연도의 주 수(1-53)(첫 번째 주는 다음 날짜에 시작됩니다. 그 해의 첫날.)
IW ISO 주 수(매년 첫 번째 목요일) 새해는 1주차에 있습니다.)
CC 세기(2자리)
J 율리우스력 기념일(기원전 4712년 1월 1일 이후의 일수)
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 일
SP접미사 주문 모드(아직 구현되지 않음) DDSP

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

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

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

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

  • 출력에 큰따옴표를 포함하려면 다음을 수행해야 합니다. 예를 들어 백슬래시를 앞에 붙입니다.'\\"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.

  • 밀리초(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의 요일 번호 매기기('D' 형식 지정 패턴 참조)가 그의추출함수.

테이블 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아르PostgreSQL확장.

  • 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') 'V'
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'