thepostgresql서식 함수는 다양한 데이터 유형 (날짜/시간, 정수, 플로팅 포인트, 숫자)을 스포츠 토토으로 변환하고 스포츠 토토화 된 문자열에서 특정 데이터 유형으로 변환하기위한 강력한 도구 세트를 제공합니다.표 9.24나열됩니다. 이러한 기능은 모두 공통 통화 규칙을 따릅니다. 첫 번째 인수는 스포츠 토토화 할 값이며 두 번째 인수는 출력 또는 입력 스포츠 토토을 정의하는 템플릿입니다..
표 9.24. 함수 서식
단일 반응도 있습니다TO_TIMESTAMP
함수; 보다표 9.31.
TO_TIMESTAMP
andto_date
간단한 캐스팅으로 변환 할 수없는 입력 스포츠 토토을 처리하기 위해 존재합니다. 대부분의 표준 날짜/시간 스포츠 토토의 경우 소스 문자열을 필요한 데이터 유형 작업에 시전하면 훨씬 쉽습니다.to_number
표준 숫자 표현의 경우 불필요합니다.
atTO_CHAR
출력 템플릿 문자열에는 주어진 값을 기반으로 적절한 스포츠 토토의 데이터로 인식되고 대체되는 특정 패턴이 있습니다. 템플릿 패턴이 아닌 텍스트는 단순히 구두로 복사됩니다.
표 9.25날짜 및 시간 값을 스포츠 토토화하는 데 사용할 수있는 템플릿 패턴을 표시합니다.
표 9.25. 날짜/시간 서식을위한 템플릿 패턴
패턴 | 설명 |
---|---|
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 , 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의 마지막 3 자리 8601 주 기적 연도 |
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 일 이후의 정수 일; 참조섹션 B.7) |
Q |
쿼터 |
rm |
대문자 로마 숫자의 달 (i-xii; i = 1 월) |
rm |
소문자 로마 숫자 (i-xii; i = 1 월) |
TZ |
대문자 시간-구역 약어 (replusedTO_CHAR ) |
TZ |
소문자 시간 구역 약어 (rebustedTO_CHAR ) |
TZH |
시간대 시간 |
TZM |
시간대 분 |
of |
UTC에서 시간대 오프셋 (지원되는TO_CHAR ) |
수정자는 모든 템플릿 패턴에 적용하여 동작을 변경할 수 있습니다. 예를 들어,fmmonth
Month
FM
Modifier.표 9.26날짜/시간 스포츠 토토의 수정 자 패턴을 보여줍니다.
표 9.26. 날짜/시간 서식을위한 템플릿 패턴 수정 자
수정 자 | 설명 | example |
---|---|---|
FM prefix |
채우기 모드 (선행 제로 및 패딩 블랭크 억제) | fmmonth |
th 접미사 |
어퍼 케이스 서수 접미사 | ddth , 예 :12th |
th 접미사 |
소문자 서수 접미사 | ddth , 예 :12th |
fx prefix |
고정 스포츠 토토 글로벌 옵션 (사용 메모 참조) | FX Month DD Day |
TM prefix |
번역 모드 (현지일 및 월 이름 인쇄LC_TIME) | tmmonth |
SP 접미사 |
주문 모드 (구현되지 않음) | DDSP |
날짜/시간 스포츠 토토에 대한 사용 메모 :
FM
패턴의 출력을 고정 된 범위로 만들기 위해 추가 된 주요 0 및 후행 블랭크를 억제합니다. 안에postgresql, FM
Oracle에서 다음 사양 만 수정합니다FM
모든 후속 사양에 영향을 미치고 반복FM
수정자는 채우기 모드를 켜고 끄는 모드를 전환합니다.
TM
후행 블랭크를 포함하지 않습니다.TO_TIMESTAMP
andto_date
무시TM
Modifier.
TO_TIMESTAMP
andto_date
입력 문자열의 시작 부분에서 그리고 날짜 및 시간 값 주변에서 여러 빈 공간을 건너 뜁니다.fx
옵션이 사용됩니다. 예를 들어,TO_TIMESTAMP ( '2000 Jun', 'yyyy mon')
andTO_TIMESTAMP ( '2000 -Jun', 'yyyy -mon')
작업하지만to_timestamp ( '2000 Jun', 'fxyyyy mon')
오류를 반환하기 때문에TO_TIMESTAMP
단일 공간 만 기대합니다.fx
템플릿의 첫 번째 항목으로 지정해야합니다.
템플릿 문자열의 분리기 (공간 또는 비 독립기/비가 자릿수 문자)TO_TIMESTAMP
andto_date
입력 문자열의 단일 분리기와 일치하거나을 건너 뜁니다.fx
옵션이 사용됩니다. 예를 들어,to_timestamp ( '2000jun', 'yyyy /// mon')
andTO_TIMESTAMP ( '2000/jun', 'yyyy mon')
작업하지만to_timestamp ( '2000 // jun', 'yyyy/mon')
입력 문자열의 분리기 수가 템플릿의 분리기 수를 초과하기 때문에 오류를 반환합니다.
iffx
지정되어 있으며 템플릿 문자열의 분리기는 입력 문자열에서 정확히 하나의 문자와 일치합니다. 그러나 입력 문자열 문자는 템플릿 문자열에서 분리기와 동일 할 필요가 없습니다.TO_TIMESTAMP ( '2000/jun', 'fxyyyy mon')
작품이지만to_timestamp ( '2000/jun', 'fxyyyy mon')
템플릿 문자열의 두 번째 공간이 문자를 소비하기 때문에 오류를 반환합니다J
입력 문자열에서.
A TZH
템플릿 패턴은 서명 된 번호와 일치 할 수 있습니다. 없이fx
옵션, 마이너스 표시는 모호 할 수 있으며 분리기로 해석 될 수 있습니다. 이 모호성은 다음과 같이 해결됩니다. 이전 분리기의 수는TZH
템플릿 문자열에서 입력 문자열의 마이너스 부호가 전하기 전에 분리기 수보다 작습니다. 마이너스 부호는의 일부로 해석됩니다.TZH
. 그렇지 않으면 마이너스 부호는 값 간의 분리기로 간주됩니다.to_timestamp ( '2000-10', 'yyyy tzh')
매치-10
toTZH
그러나to_timestamp ( '2000-10', 'yyyy tzh')
매치10
toTZH
.
일반 텍스트가 허용됩니다TO_CHAR
템플릿 및 문자 그대로 출력됩니다. 템플릿 패턴이 포함되어 있어도 문자 그대로 해석되도록 하위 문자열을 이중 따옴표로 넣을 수 있습니다.' "Hello Year"yyyy'
, Theyyyy
연도 데이터로 대체되지만 단일Y
inyear
안에to_date
, to_number
및TO_TIMESTAMP
, 문자 그럴 텍스트와 이중 인용 문자열은 문자열에 포함 된 문자 수를 건너 뜁니다. 예를 들어"xx"
두 개의 입력 문자를 건너 뛰십시오 (xx
).
이전postgresql12, 비 레터 또는 비 디지털 문자를 사용하여 입력 문자열에서 임의의 텍스트를 건너 뛸 수있었습니다. 예를 들어,to_timestamp ( '2000y6m1d', 'yyyy-mm-dd')
작동하는 데 사용되었습니다. 이제이 목적으로 만 문자를 사용할 수 있습니다.TO_TIMESTAMP ( '2000Y6M1D', 'yyytmmtddt')
andto_timestamp ( '2000y6m1d', 'yyyy "y"mm "m"dd "d"')
skipy
, m
및d
.
출력에 이중 견적을 원한다면 백 슬래시와 앞에 있어야합니다'\ "yyyy month \"'
. 백 슬래시는 그렇지 않으면 두 배의 줄기 외부에서 특별하지 않습니다.
inTO_TIMESTAMP
andto_date
, 연도 스포츠 토토 사양이 4 자리 미만인 경우 (예 :yyy
, 공급 된 연도는 4 자리 미만이며, 연도는 2020 년에 가장 가까운 것으로 조정됩니다 (예 :95
1995 년이됩니다.
inTO_TIMESTAMP
andto_date
, 부정적인 해는 BC를 의미하는 것으로 취급됩니다. 부정적인 해와 명시 적으로 글을 쓰면BC
필드, 당신은 다시 광고를 얻습니다. 제로의 입력은 기원전 1으로 취급됩니다.
inTO_TIMESTAMP
andto_date
, Theyyyy
변환은 4 자리 이상으로 연도를 처리 할 때 제한이 있습니다. 이후에 숫자가 아닌 문자 또는 템플릿을 사용해야합니다.yyyy
, 그렇지 않으면 연도는 항상 4 자리로 해석됩니다. 예를 들어 (20000 년과 함께) :to_date ( '200001130', 'yyyymmdd')
4 자리로 해석됩니다. 대신와 같이 연중 이후에 비수분 분리기를 사용하십시오to_date ( '20000-1130', 'yyyy-mmdd')
또는TO_DATE ( '20000NOV30', 'yyyymondd')
.
inTO_TIMESTAMP
andto_date
, TheCC
(Century) 필드는 받아 들여지지 만 A가 있으면 무시됩니다yyy
, yyyy
또는y, yyy
필드. 만약에CC
yy
또는Y
그러면 결과는 지정된 세기의 해당 연도와 같이 계산됩니다. 세기가 명시되어 있지만 해가 그렇지 않다면, 세기의 첫해는 가정됩니다.
inTO_TIMESTAMP
andto_date
, 주중 이름 또는 숫자 (day
, D
및 관련 필드 유형)은 허용되지만 결과를 계산할 목적으로 무시됩니다. Quarter (에 대해서도 마찬가지입니다.Q
) 필드.
inTO_TIMESTAMP
andto_date
, ISO 8601 주 기적 날짜 (Gregorian 날짜와는 별도로)는 두 가지 방법 중 하나로 지정할 수 있습니다.
연도, 주 번호 및 주중 : 예를 들어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 주간에는 의미가 없습니다.
whileto_date
Gregorian과 ISO 주간 기업 날짜 필드의 혼합물을 거부합니다.TO_CHAR
출력 스포츠 토토 사양이므로yyyy-mm-dd (iyyy-iddd)
유용 할 수 있습니다. 하지만와 같은 글을 쓰지 마십시오.iyyy-mm-dd
; 그것은 연초에 놀라운 결과를 얻을 것입니다.섹션 9.9.1자세한 내용은)
inTO_TIMESTAMP
, 밀리 초 (MS
) 또는 마이크로 초 (US
) 필드는 소수점 이후 초 숫자로 사용됩니다. 예를 들어to_timestamp ('12 .3 ','ss.ms ')
는 변환이 12 + 0.3 초로 취급되기 때문에 3 밀리 초가 아니라 300입니다. 그래서 스포츠 토토SS
, 입력 값12.3
, 12.30
및12.300
동일한 수의 밀리 초를 지정하십시오. 3 밀리 초를 얻으려면 하나가 쓸 필요가 있습니다12.003
34272_34333
여기 더 복잡한 예가 있습니다 :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는 일치하지 않습니다Extract (Dow from ...)
의 날 번호.
TO_CHAR (Interval)
스포츠 토토HH
andHH12
12 시간 시계에 표시된대로, 예를 들어 제로 시간 및 36 시간 모두 출력으로12
whileHH24
전체 시간 값을 출력하며, 이는 23을 초과 할 수 있습니다간격
value.
표 9.27숫자 값을 스포츠 토토화하는 데 사용할 수있는 템플릿 패턴을 보여줍니다.
표 9.27. 숫자 서식을위한 템플릿 패턴
패턴 | 설명 |
---|---|
9 |
숫자 위치 (무의미한 경우 삭제 가능) |
0 |
숫자 위치 (무의미한 경우에도 삭제되지 않음) |
. (기간) |
소수점 |
, (쉼표) |
그룹 (수천) 분리기 |
PR |
각도 브래킷의 음수 값 |
S |
숫자에 고정 된 사인 (로케일 사용) |
L |
통화 기호 (로케일 사용) |
D |
소수점 (로케일 사용) |
G |
그룹 분리기 (로케일 사용) |
mi |
지정된 위치의 마이너스 부호 (숫자 <0) |
pl |
지정된 위치에 서명 (번호> 0이면) |
SG |
plus/minus sign in speignified position |
RN |
로마 숫자 (1과 3999 사이의 입력) |
th 또는th |
서수 접미사 |
V |
지정된 숫자 수를 시프트합니다 (참고 참조) |
eeee |
과학 표기법을위한 지수 |
숫자 스포츠 토토에 대한 사용 메모 :
0
선행/후행 제로가 포함되어 있어도 항상 인쇄 될 숫자 위치를 지정합니다.9
또한 숫자 위치를 지정하지만, 리드 0 인 경우 공간으로 교체되며, 트레일이 0이고 채우기 모드가 지정되면 삭제됩니다. (을 위한to_number ()
,이 두 패턴 문자는 동일합니다.)
스포츠 토토이 스포츠 토토화되는 숫자보다 더 적은 부분 숫자를 제공하는 경우to_char ()
지정된 분수 숫자 수로 숫자를 반올림합니다.
패턴 문자S
, L
, D
및G
현재 로케일에 의해 정의 된 부호, 통화 기호, 소수점 및 수천 개의 분리기 문자를 나타냅니다 (참조lc_monetaryandlc_numeric). 패턴 문자 기간과 쉼표는 로케일에 관계없이 소수점과 수천 개의 분리기의 의미와 함께 정확한 문자를 나타냅니다.
서명에 대한 명시 적 조항이없는 경우to_char ()
의 패턴, 하나의 열은 표시를 위해 예약되며 숫자가 왼쪽으로 표시됩니다. 만약에S
일부 왼쪽으로 나타납니다9
's, 마찬가지로 숫자에 고정됩니다.
|SG
, pl
또는mi
예를 들어,TO_CHAR (-12, 'MI9999')
생산'-12'
하지만TO_CHAR (-12, 'S9999')
생산' -12 '
. (Oracle 구현은의 사용을 허용하지 않습니다.mi
전9
그러나 오히려9
precedemi
.)
th
값은 0보다 적은 값을 변환하지 않으며 분수 숫자를 변환하지 않습니다.
pl
, SG
및th
arepostgresql확장.
into_number
, 비 데이터 템플릿 패턴 인 경우L
또는th
사용됩니다. 해당 입력 문자 수는 데이터 문자 (즉, 숫자, 부호, 소수점 또는 쉼표가 아닌 한 템플릿 패턴과 일치하는지 여부에 관계없이 건너 뜁니다. 예를 들어,th
두 개의 비 데이터 문자를 건너 뛸 것입니다.
V
withTO_CHAR
입력 값을 곱하기10^
, 여기서n
n
다음 자릿수 수입니다V
. V
withto_number
비슷한 방식으로 나눕니다.TO_CHAR
andto_number
사용을 지원하지 마십시오V
소수점과 결합 (예 :99.9V99
허용되지 않음).
eeee
(과학 표기법)는 숫자 및 소수점 패턴 이외의 다른 스포츠 토토 패턴 또는 수정 자와 함께 사용할 수 없으며 스포츠 토토 문자열의 끝에 있어야합니다 (예 :9.99eee
유효한 패턴).
특정 수정자는 모든 템플릿 패턴에 적용하여 동작을 변경할 수 있습니다. 예를 들어,FM99.99
99.99
FM
Modifier.표 9.28숫자 스포츠 토토의 수정 자 패턴을 보여줍니다.
표 9.28. 숫자 서식을위한 템플릿 패턴 수정 자
수정 자 | 설명 | example |
---|---|---|
FM prefix |
채우기 모드 (후행 제로 및 패딩 블랭드 억제) | FM99.99 |
th 접미사 |
어퍼 케이스 서수 접미사 | 999th |
th 접미사 |
소문자 서수 접미사 | 999th |
표 9.29사용의 일부 예를 보여줍니다TO_CHAR
함수.
표 9.29. 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 ' |