젠 토토 : 문서 : 9.6 : 젠 토토 9.6.24 | |||
---|---|---|---|
젠 토토 PostgreSQL : 문서 : 9.6 : 패턴 매칭 | PostgreSQL : 문서 : 9.6 : 토토 결과 및 연산자 | 제 9 장 기능 및 연산자 | PostgreSQL : 문서 : 9.6 : 날짜/범퍼카 토토 기능 및 연산자 |
thePostgreSQL서식 함수는 다양한 토토 꽁 머니 유형 (날짜/시간, 정수, 플로팅 포인트, 숫자)을 형식으로 변환하고 서식 된 문자열에서 특정 토토 꽁 머니 유형으로 변환하기위한 강력한 도구 세트를 제공합니다.표 9-23나열됩니다. 이러한 기능은 모두 공통 통화 규칙을 따릅니다. 첫 번째 인수는 토토 꽁 머니화 할 값이며 두 번째 인수는 출력 또는 입력 토토 꽁 머니을 정의하는 템플릿입니다..
표 9-23. 함수 서식
기능 | 반환 토토 꽁 머니 | 설명 | example |
---|---|---|---|
TO_CHAR (타임 스탬프, 텍스트) |
텍스트 | 타임 스탬프를 문자열로 변환 | to_char (current_timestamp, 'hh12 : mi : ss') |
TO_CHAR (간격, 텍스트) |
텍스트 | 간격을 문자열로 변환 | TO_CHAR (간격 '15H 2M 12S', 'HH24 : MI : SS') |
TO_CHAR (int, 텍스트) |
텍스트 | 정수를 문자열로 변환 | TO_CHAR (125, '999') |
TO_CHAR (이중 정밀, 텍스트) |
텍스트 | 실제/이중 정밀도를 문자열로 변환 | to_char (125.8 :: Real, '999d9') |
to_char (숫자, 텍스트) |
텍스트 | 숫자를 문자열로 변환 | TO_CHAR (-125.8, '999D99S') |
to_date (텍스트, 텍스트) |
날짜 | 날짜로 문자열 변환 | to_date ('05 12 월 2000 ','dd mon yyyy ') |
to_number (텍스트, 텍스트) |
숫자 | 문자열을 숫자로 변환 | TO_NUMBER ('12, 454.8- ','99G999D9S ') |
TO_TIMESTAMP (텍스트, 텍스트) |
시간대가있는 타임 스탬프 | 스트링을 타임 스탬프로 변환 | TO_TIMESTAMP ('05 DEC 2000 ','DD MON YYYY ') |
참고 :단일 학습도 있습니다
TO_TIMESTAMP
함수; 보다표 9-30.
atto_char
출력 템플릿 문자열에는 주어진 값에 따라 적절한 토토 꽁 머니의 데이터로 인식되고 대체되는 특정 패턴이 있습니다. 템플릿 패턴이 아닌 텍스트는 단순히 구두로 복사됩니다. 마찬가지로, 입력 템플릿 문자열 (다른 함수의 경우)에서 템플릿 패턴은 입력 데이터 문자열에 의해 제공 될 값을 식별합니다.
표 9-24날짜 및 시간 값 포맷에 사용할 수있는 템플릿 패턴을 표시합니다.
표 9-24. 날짜/시간 서식을위한 템플릿 패턴
패턴 | 설명 |
---|---|
HH | 시간의 시간 (01-12) |
HH12 | 시간의 시간 (01-12) |
HH24 | 시간의 시간 (00-23) |
mi | 분 (00-59) |
SS | Second (00-59) |
MS | 밀리 초 (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 8601 주 기간 (4 자리 이상) |
iyy | ISO 8601 주 기간의 마지막 3 자리 |
iy | ISO의 마지막 2 자리 8601 주 기적 연도 |
i | ISO의 마지막 숫자 8601 주 기적 연도 |
BC, BC, ad또는ad | ERA 표시기 (기간 없음) |
B.C., B.C., a.d.또는a.d. | ERA 표시기 (기간 포함) |
Month | 전체 대문자 달 이름 (빈 태워 9 숯으로 묶음) |
Month | 전체 대문자 달 이름 (9 숯으로 빈 정지) |
Month | 전체 소문자 달 이름 (빈 태워에 9 숯) |
Mon | 약식 상류 달 이름 (영어로 된 3 숯, 현지화 된 길이는 다양) |
Mon | 약식 대문자 월 이름 (영어로 된 3 숯, 현지화 된 길이는 다양) |
Mon | 약식 소문자 이름 (영어로 된 3 숯, 현지화 된 길이는 다양함) |
mm | 월 번호 (01-12) |
day | 전체 대문자 날 이름 (9 숯으로 빈 정지) |
day | 전체 대문자 날 이름 (9 숯으로 빈 정지) |
day | 전체 소문자 날 이름 (9 숯으로 빈 정지) |
dy | 약식 상류의 날 이름 (영어로 된 3 숯, 현지화 된 길이는 다양함) |
dy | 약식 자본화 된 날 이름 (영어로 된 3 숯, 현지 길이는 다양) |
dy | 약식 소문자 날 이름 (영어로 된 3 숯, 현지화 된 길이는 다양) |
DDD | 일년의 날 (001-366) |
iddd | ISO의 날 8601 주 기적 연도 (001-371; 올해 1 일은 첫 번째 ISO 주일의 월요일) |
DD | 매월 (01-31) |
d | 주일, 일요일 (1) ~ 토요일 (7) |
id | ISO 8601 주일, 월요일 (1) ~ 일요일 (7) |
W | 월 주 (1-5) (첫 주가 월 첫날에 시작) |
ww | 주간 수 (1-53) (첫 주가 첫날에 시작) |
iw | ISO 8601 주 기간 (01-53; 올해의 첫 번째 목요일은 1 주일) |
CC | Century (2 자리) (21 세기는 2001-01-01에서 시작) |
J | 줄리안 날짜 (현지 자정에 기원전 4714 년 11 월 24 일 이후의 정수 일; 참조PostgreSQL : 문서 : 9.6 : 토토 캔 Dates) |
Q | Quarter (무시to_date andTO_TIMESTAMP ) |
rm | 대문자 로마 숫자의 달 (i-xii; i = 1 월) |
rm | 소문자 로마 숫자 (i-xii; i = 1 월) |
TZ | 대문자 시간 구역 약어 (insureto_char ) |
TZ | 소문자 시간 구역 약어 (replusedto_char ) |
of | UTC에서 시간대 오프셋 (지원되는to_char ) |
수정자는 모든 템플릿 패턴에 적용하여 동작을 변경할 수 있습니다. 예를 들어,fmmonthMonth패턴FM수정 자.표 9-25날짜/시간 토토 꽁 머니의 수정 자 패턴을 보여줍니다.
표 9-25. 날짜/시간 서식을위한 템플릿 패턴 수정 자
Modifier | 설명 | example |
---|---|---|
FMprefix | 채우기 모드 (선행 제로 및 패딩 블랭드 억제) | fmmonth |
th접미사 | 어퍼 케이스 서수 접미사 | ddth, 예 :12th |
th접미사 | 소문자 서수 접미사 | ddth, 예 :12th |
FXprefix | 고정 토토 꽁 머니 글로벌 옵션 (사용 메모 참조) | FX Month DD Day |
TM접두사 | 번역 모드 (현지일 및 월 이름을 인쇄하여LC_TIME) | tmmonth |
SP접미사 | 주문 모드 (구현되지 않음) | DDSP |
날짜/시간 토토 꽁 머니에 대한 사용 메모 :
FM패턴의 출력을 고정 된 범위로 만들기 위해 추가 된 주요 0 및 후행 블랭크를 억제합니다. 안에PostgreSQL, FMOracle에서 다음 사양 만 수정합니다FM모든 후속 사양에 영향을 미치고 반복FM수정자는 채우기 모드를 켜고 끄는 모드를 전환합니다.
TM후행 블랭크를 포함하지 않습니다.TO_TIMESTAMP
andto_date
무시TM수정 자.
TO_TIMESTAMP
andto_date
입력 문자열에서 여러 빈 공간을 건너 뛰지 않는 한FX옵션이 사용됩니다. 예를 들어,to_timestamp ( '2000 Jun', 'yyyy mon')작품이지만to_timestamp ( '2000 Jun', 'fxyyyy mon')오류를 반환하기 때문에TO_TIMESTAMP
하나의 공간 만 기대합니다.FX템플릿의 첫 번째 항목으로 지정해야합니다.
TO_TIMESTAMP
andto_date
간단한 캐스팅으로 변환 할 수없는 입력 토토 꽁 머니을 처리하려면 존재합니다. 이러한 기능은 최소한의 오류 점검으로 입력을 자유롭게 해석합니다. 유효한 출력을 생성하는 동안 변환은 예상치 못한 결과를 얻을 수 있습니다. 예를 들어, 이러한 함수에 대한 입력은 정상 범위에 의해 제한되지 않으므로to_date ( '20096040', 'yyyymmdd')반환2014-01-17오류를 일으키지 않고. 캐스팅은이 행동이 없습니다.
일반 텍스트가 허용됩니다to_char
템플릿 및 문자 그대로 출력됩니다. 패턴 키워드가 포함되어 있어도 문자 그대로 해석되도록 하위 문자열을 이중 인용문으로 넣을 수 있습니다. 예를 들어,' "Hello Year"yyyy', Theyyyy연도 토토 꽁 머니로 대체되지만 단일yinYear안에to_date
, to_number
및TO_TIMESTAMP
, 이중 인용 문자열 문자열에 포함 된 입력 문자 수를 건너 뜁니다 (예 :"xx"두 개의 입력 문자를 건너 뜁니다.
출력에 이중 견적을 원한다면 백 슬래시와 앞에 있어야합니다.'\ "yyyy month \"'.
연도 토토 꽁 머니 사양이 4 자리 미만인 경우 (예 :yyy, 공급 된 연도는 4 자리 미만이며, 연도는 2020 년에 가장 가까운 것으로 조정됩니다 (예 :951995 년이됩니다.
inTO_TIMESTAMP
및to_date
, 부정적인 해는 BC를 의미하는 것으로 취급됩니다. 부정적인 해와 명시 적으로 글을 쓰면BC필드, 당신은 다시 광고를 얻습니다. 제로의 입력은 기원전 1으로 취급됩니다.
inTO_TIMESTAMP
및to_date
, Theyyyy변환은 4 자리 이상으로 연도를 처리 할 때 제한이 있습니다. 이후에 숫자가 아닌 문자 또는 템플릿을 사용해야합니다.yyyy, 그렇지 않으면 연도는 항상 4 자리로 해석됩니다. 예를 들어 (20000 년과 함께) :to_date ( '2000001131', 'yyyymmdd')4 자리 연도로 해석됩니다. 대신와 같이 연중 이후에 비수분 분리기를 사용하십시오to_date ( '20000-1131', 'yyyy-mmdd')또는TO_DATE ( '20000NOV31', 'yyyymondd').
문자열에서로 변환타임 스탬프또는날짜, TheCC(Century) 필드는 무시됩니다yyy, yyyy또는y, yyy필드. 만약에CCyy또는y그러면 연도는 지정된 세기의 해로 계산됩니다. 세기가 명시되어 있지만 해가 그렇지 않다면, 세기의 첫해는 가정됩니다.
ISO 8601 주 기적 날짜 (Gregorian 날짜와는 별도로)를 지정할 수 있습니다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 8601 주 기적 필드와 Gregorian Date Fields의 혼합물을 사용하여 날짜를 입력하려고 시도하는 것은 무의미하며 오류가 발생합니다. ISO 8601 주 기적 연도의 맥락에서 A의 개념."Month"또는"월"의미가 없습니다. Gregorian 년의 맥락에서 ISO 주간에는 의미가 없습니다.
주의 |
while |
문자열에서로 변환타임 스탬프, 밀리 초 (MS) 또는 마이크로 초 (US) 값은 10 진수 지점 다음 초 숫자로 사용됩니다. 예를 들어TO_TIMESTAMP ('12 : 3 ','SS : MS ')는 변환이 12 + 0.3 초로 계산되기 때문에 3 밀리 초가 아니라 300입니다. 이것은 토토 꽁 머니을 의미합니다SS : MS, 입력 값12:3, 12:30및12:300동일한 수의 밀리 초를 지정하십시오. 3 밀리 초를 얻으려면 사용해야합니다12:003, 변환이 12 + 0.003 = 12.003 초로 계산됩니다.
여기 더 복잡한 예가 있습니다 :TO_TIMESTAMP ('15 : 12 : 02.020.001230 ','hh24 : mi : ss.ms.us ')15 시간, 12 분 및 2 초 + 20 밀리 초 + 1230 마이크로 초 = 2.021230 초입니다.
to_char (..., 'id')
의 주 금주의 번호는 일치합니다.Extract (Isodow에서 ...)
기능이지만to_char (..., 'd')
s는 일치하지 않습니다추출물 (Dow from ...)
의 날 번호.
TO_CHAR (Interval)
토토 꽁 머니HHandHH1212 시간 시계에 표시된대로, 즉 제로 시간 및 36 시간 출력으로12, whileHH24간격의 경우 23을 초과 할 수있는 전체 시간 값을 출력합니다.
표 9-26숫자 값을 토토 꽁 머니화하는 데 사용할 수있는 템플릿 패턴을 보여줍니다.
표 9-26. 숫자 서식을위한 템플릿 패턴
패턴 | 설명 |
---|---|
9 | 숫자 위치 (무의미한 경우 삭제 될 수 있음) |
0 | 숫자 위치 (무의미한 경우에도 삭제되지 않음) |
.(기간) | 소수점 |
,(쉼표) | 그룹 (수천) 분리기 |
PR | 각도 괄호의 음수 값 |
S | 숫자에 고정 된 사인 (로케일 사용) |
l | 통화 기호 (로케일 사용) |
d | 소수점 (로케일 사용) |
g | 그룹 분리기 (로케일 사용) |
mi | 지정된 위치 (숫자 <0 인 경우). |
pl | 지정된 위치 (숫자 0 인 경우) |
SG | plus/minus sign in spewified position |
RN | 로마 숫자 (1과 3999 사이의 입력) |
th또는th | 서수 접미사 |
V | 지정된 숫자 수를 바꾸십시오 (참고 참조) |
eeee | 과학 표기법을위한 지수 |
숫자 토토 꽁 머니에 대한 사용 메모 :
0선행/후행 0이 포함되어 있어도 항상 인쇄 될 숫자 위치를 지정합니다.9또한 숫자 위치를 지정하지만, 리드 0 인 경우 공간으로 대체되며, 후행 0이고 채우기 모드가 지정되면 삭제됩니다. (을 위한to_number ()
,이 두 패턴 문자는 동일합니다.)
패턴 문자S, l, D및g현재 로케일에 의해 정의 된 부호, 통화 기호, 소수점 및 수천 개의 분리기 문자를 나타냅니다 (참조33908_33921andlc_numeric). 패턴 문자 기간과 쉼표는 로케일에 관계없이 소수점과 수천 개의 분리기의 의미와 함께 정확한 문자를 나타냅니다.
로그인에 대한 명시 적 조항이없는 경우to_char ()
'패턴, 하나의 열이 표시에 예약되어 있으며 숫자 바로 왼쪽에 고정됩니다. 만약에S일부 왼쪽으로 나타납니다9's, 마찬가지로 숫자에 고정됩니다.
사용 서명SG, pl또는mi는 숫자에 고정되어 있지 않습니다. 예를 들어,TO_CHAR (-12, 'MI9999')생산'-12'그러나TO_CHAR (-12, 'S9999')생산' -12 '. (Oracle 구현은의 사용을 허용하지 않습니다.MI전9그러나 오히려9precedemi.)
th값은 0보다 적은 값을 변환하지 않으며 분수 숫자를 변환하지 않습니다.
pl, SG및tharePostgreSQL확장.
VwithTO_CHAR
입력 값을 곱하기10^n, 여기서n다음 자리 수입니다V. Vwithto_number
비슷한 방식으로 나눕니다.TO_CHAR
및to_number
사용을 지원하지 마십시오V소수점과 결합 (예 :99.9V99허용되지 않음).
eeee(과학 표기법)는 숫자 및 소수점 패턴 이외의 다른 토토 꽁 머니 패턴 또는 수정 자와 함께 사용할 수 없으며 토토 꽁 머니 문자열의 끝에 있어야합니다 (예 :9.99eee유효한 패턴).
특정 수정자는 모든 템플릿 패턴에 적용하여 동작을 변경할 수 있습니다. 예를 들어,FM99.9999.99FM수정 자.표 9-27숫자 토토 꽁 머니의 수정 자 패턴을 보여줍니다.
표 9-27. 숫자 서식을위한 템플릿 패턴 수정 자
Modifier | 설명 | example |
---|---|---|
FM접두사 | 채우기 모드 (후행 제로 및 패딩 블랭크 억제) | FM99.99 |
th접미사 | 어퍼 케이스 서수 접미사 | 999th |
TH접미사 | 소문자 서수 접미사 | 999th |
표 9-28사용의 몇 가지 예를 보여줍니다to_char
기능.
표 9-28.TO_CHAR
예
표현 | 결과 |
---|---|
to_char (current_timestamp, 'day, dd hh12 : mi : ss') | '화요일, 06 05:39:18' |
to_char (current_timestamp, '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, 'FM90.99') | '-0.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, '999th') | ' 482nd ' |
to_char (485, ' "좋은 숫자 :"999') | '좋은 번호 : 485' |
TO_CHAR (485.8, ' "PRE :"999 "POST :".999') | 'pre : 485 게시물 : .800' |
TO_CHAR (12, '99V999') | ' 12000 ' |
TO_CHAR (12.4, '99V999') | ' 12400 ' |
TO_CHAR (12.45, '99V9') | ' 125 ' |
to_char (0.0004859, '9.99eee') | ' 4.86E-04 ' |