이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 9.4. 스포츠 토토 결과 함수 및 연산자버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.4. 스포츠 토토 함수 및 연산자

이 섹션에서는 스포츠 토토 값을 검사하고 조작하기위한 기능 및 연산자를 설명합니다. 이 맥락에서 스포츠 토토에는 유형의 값이 포함됩니다캐릭터, 캐릭터 다양한텍스트. 달리 명시되지 않는 한, 아래에 나열된 모든 기능은 이러한 모든 유형에 대해 작동하지만를 사용할 때 자동 공간 패딩의 잠재적 영향에주의하십시오.캐릭터타입. 일부 기능은 비트 스트링 유형에 기본적으로 존재합니다.

SQL쉼표가 아닌 핵심 단어를 사용하여 인수를 분리하는 일부 스포츠 토토 함수를 정의합니다. 세부 사항은표 9-6. PostgreSQL일반 함수 호출 구문을 사용하는 이러한 기능의 버전을 제공합니다 (참조표 9-7).

참고 :PostgreSQL8.3, 이러한 기능은 해당 데이터 유형에서 암시 적 강요의 존재로 인해 여러 비 스트링 데이터 유형의 값도 조용히 받아 들일 것입니다.텍스트. 이러한 강요는 종종 놀라운 행동을 일으켰기 때문에 제거되었습니다. 그러나 스포츠 토토 연결 연산자 (||)는 여전히 비 스트링 입력을 허용합니다. 적어도 하나의 입력이 스포츠 토토 유형 인 한표 9-6. 다른 경우에는 명시 적 강요 삽입텍스트이전 동작을 복제 해야하는 경우

표 9-6.SQL스포츠 토토 함수 및 연산자

기능 반환 유형 설명 example 결과
String || String 텍스트 스포츠 토토 연결 'post'|| 'gresql' PostgreSQL
String || 비 스트링또는비 스트링 || String 텍스트 하나의 비 스트링 입력과의 스포츠 토토 연결 '값 :'|| 42 값 : 42
bit_length (String) int 스포츠 토토의 비트 수 bit_length ( 'Jose') 32
char_length (String)또는문자 _length (String) int 스포츠 토토의 문자 수 char_length ( 'Jose') 4
하단 (String) 텍스트 스포츠 토토을 소문자로 변환 Lower ( 'Tom') Tom
Octet_length (String) int 스포츠 토토의 바이트 수 Octet_length ( 'Jose') 4
오버레이 (String배치StringFromint[forint]) 텍스트 기판 교체 오버레이 ( 'txxxxas' 'hom'을 2로 2로 배치) Thomas
위치 (SubstringinString) int 지정된 서브 스트링의 위치 위치 ( '토마스'의 'om') 3
Substring (String[Fromint] [forint]) 텍스트 Extract attring 서브 스트링 ( '토마스'에서 2 세) hom
Substring (StringFrom패턴) 텍스트 POSIX 정규 표현식을 일치시키는 기판 추출. 보다섹션 9.7패턴 매칭에 대한 자세한 내용은 서브 스트링 ( '토마스'에서 '... $') mas
Substring (StringFrom패턴for탈출) 텍스트 추출 기판 매칭SQL정규 표현. 보다섹션 9.7패턴 일치에 대한 자세한 내용은 Substring ( '#'#'for'#'for'#'_' OMA
trim ([주요 | 후행 | 둘 다] [캐릭터] FromString) 텍스트 문자 만 포함하는 가장 긴 스포츠 토토 제거캐릭터(기본적으로 공간) 시작, 끝 또는 양쪽 끝에서 (둘 다기본값)의String 트림 ( 'xyz'에서 'yxtomxx') Tom
trim ([주요 | 후행 | 둘 다] [From]String[, 캐릭터]) 텍스트 비표준 구문trim () 트림 ( 'yxtomxx', 'xyz') Tom
어퍼 (String) 텍스트 스포츠 토토을 대문자로 변환 어퍼 ( 'tom') Tom

추가 스포츠 토토 조작 함수를 사용할 수 있으며에 나열되어 있습니다.표 9-7. 그들 중 일부는 내부적으로 사용되어SQL-스탠드 스포츠 토토 함수에 나열표 9-6.

표 9-7. 기타 문자열 함수

기능 반환 유형 설명 example 결과
ascii (String) int ASCII인수의 첫 번째 문자의 코드. 을 위한UTF8문자의 유니 코드 코드 포인트를 반환합니다. 다른 멀티 바이트 인코딩의 경우 인수는이어야합니다.ASCII캐릭터. ascii ( 'x') 120
btrim (String 텍스트[, 캐릭터 텍스트]) 텍스트 문자로만 구성된 가장 긴 스포츠 토토 제거캐릭터(기본적으로 공간)의 시작과 끝에서String btrim ( 'xyxtrimyyx', 'xyz') 트림
chr (int) 텍스트 지정된 코드가있는 문자. 을 위한UTF8인수는 유니 코드 코드 포인트로 취급됩니다. 다른 멀티 바이트 인코딩의 경우 인수는 an을 지정해야합니다ASCII문자. 텍스트 데이터 유형이 그러한 바이트를 저장할 수 없기 때문에 NULL (0) 문자는 허용되지 않습니다. chr (65) a
concat (str "Any"[,str "Any"[, ...]) 텍스트 모든 인수의 텍스트 표현을 연결하십시오. 널 인수는 무시됩니다. concat ( 'abcde', 2, null, 22) ABCDE222
concat_ws (SEP 텍스트, str "Any"[,str "Any"[, ...]) 텍스트 분리기와의 첫 번째 논쟁을 제외한 모든 것을 연결합니다. 첫 번째 인수는 분리기 스포츠 토토로 사용됩니다. 널 인수는 무시됩니다. concat_ws ( ',', ','abcde ', 2, null, 22) abcde, 2,22
convert (String BYTEA, src_encoding 이름, dest_encoding 이름) BYTEA 스포츠 토토 변환dest_encoding. 원래 인코딩은에 의해 지정됩니다.src_encoding. 그만큼String이 인코딩에서 유효해야합니다. 전환은에 의해 정의 될 수 있습니다.변환 생성. 또한 사전 정의 된 전환이 있습니다. 보다표 9-8사용 가능한 전환. convert ( 'text_in_utf8', 'utf8', 'latin1') text_in_utf8라틴 -1 인코딩 (ISO 8859-1)에서 표현
convert_from (String BYTEA, src_encoding 이름) 텍스트 문자열을 데이터베이스 인코딩으로 변환합니다. 원래 인코딩은에 의해 지정됩니다.src_encoding. 그만큼String이 인코딩에서 유효해야합니다. convert_from ( 'text_in_utf8', 'utf8') text_in_utf8현재 데이터베이스 인코딩에 표시
convert_to (String 텍스트, dest_encoding 이름) BYTEA 스포츠 토토 변환dest_encoding. convert_to ( 'some text', 'utf8') 일부 텍스트UTF8 인코딩에 표시
decode (String 텍스트, 형식 텍스트) BYTEA 텍스트 표현에서 바이너리 데이터를 디코딩하여String. 옵션형식Encode. decode ( 'mtizaae =', 'base64') \ x3132330001
encode (데이터 BYTEA, 형식 텍스트) 텍스트 이진 데이터를 텍스트 표현으로 인코딩합니다. 지원되는 형식은 다음과 같습니다.Base64, hex, 탈출. 탈출제로 바이트와 비트 세트 바이트를 Octal 시퀀스로 변환합니다 (\NNN) 및 두 배의 백 슬래시. Encode ( '123 \ 000 \ 001', 'base64') mtizaae =
형식(Formatstr 텍스트[,Formatarg "Any"[, ...]) 텍스트 형식 문자열에 따른 형식 인수. 이 기능은 C 함수와 유사합니다Sprintf. 보다섹션 9.4.1. 형식 ( 'hello %s, %1 $ s', 'world') Hello World, World
initcap (String) 텍스트 각 단어의 첫 글자를 대문자로, 나머지는 소문자로 변환합니다. 단어는 비 alphanumeric 문자로 분리 된 영숫자 문자의 시퀀스입니다. InitCap ( 'Hi Thomas') Hi Thomas
왼쪽 (str 텍스트, n int) 텍스트 첫 번째 반환n스포츠 토토의 문자. 언제n부정적입니다. 마지막으로 반환 |n| 캐릭터. 왼쪽 ( 'abcde', 2) AB
길이 (String) int 문자 수String 길이 ( 'Jose') 4
길이 (String BYTEA, 인코딩 이름) int 문자 수String주어진인코딩. 그만큼String이 인코딩에서 유효해야합니다. 길이 ( 'Jose', 'utf8') 4
lpad (String 텍스트, 길이 int[, fill 텍스트]) 텍스트 채우기String길이길이캐릭터 선불로fill(기본적으로 공간). 인 경우String이미보다 길다길이그런 다음 오른쪽에 자르고 있습니다. lpad ( 'hi', 5, 'xy') xyxhi
ltrim (String 텍스트[, 캐릭터 텍스트]) 텍스트 |캐릭터(기본적으로 공간) 시작부터String ltrim ( 'zzzytest', 'xyz') 테스트
md5 (String) 텍스트 MD5 해시 계산String, 결과를 16 진수로 반환 MD5 ( 'ABC') 900150983CD24FB0 D6963F7D28E17F72
pg_client_encoding () 이름 현재 클라이언트 인코딩 이름 pg_client_encoding () SQL_ASCII
quote_ident (String 텍스트) 텍스트 주어진 문자열을 반환SQL문자열. 따옴표는 필요한 경우에만 추가됩니다 (즉, 문자열에 비 식별자 문자가 포함되어 있거나 케이스 폴드가있는 경우). 내장 된 인용문이 제대로 두 배가됩니다. 참조 참조예 40-1. quote_ident ( 'foo bar') "Foo Bar"
quote_literal (String 텍스트) 텍스트 주어진 문자열을 반환SQL스포츠 토토. 내장 단일 크기와 백 슬래시가 제대로 두 배가됩니다. 참고quote_literalnull 입력에서 null을 반환합니다. 인수가 무효 일 수 있다면QUOTE_NULLABLE가 종종 더 적합합니다. 참조 참조예 40-1. quote_literal (e'o \ 'reilly') 'O''Reilly'
quote_literal (value Anylement) 텍스트 주어진 값을 텍스트로 강요 한 다음 문자로 인용하십시오. 내장 된 단일 크기 및 백 슬래시가 제대로 두 배가됩니다. quote_literal (42.5) '42 .5 '
quote_nullable (String 텍스트) 텍스트 주어진 문자열을 반환SQL문자열; 또는 인수가 무인 상태 인 경우 retoyNULL. 내장 단일 크기와 백 슬래시가 제대로 두 배가됩니다. 참조 참조예 40-1. quote_nullable (null) null
quote_nullable (value Anylement) 텍스트 주어진 값을 텍스트로 강요 한 다음 문자로 인용하십시오. 또는 인수가 무인 상태 인 경우 retoyNULL. 내장 된 단일 크기 및 백 슬래시가 제대로 두 배가됩니다. QUOTE_NULLABLE (42.5) '42 .5 '
regexp_matches (String 텍스트, 패턴 텍스트[,플래그 텍스트]) 텍스트 설정 [] POSIX 정규 표현식과 일치하는 모든 캡처 된 하위 스트링을 반환String. 보다섹션 9.7.3자세한 내용은 regexp_matches ( 'foobarbequebaz', '(bar)'(beque) ') bar, beque
regexp_replace (String 텍스트, 패턴 텍스트, 교체 텍스트[,플래그 텍스트]) 텍스트 POSIX 정규 표현식과 일치하는 하위 문자열 교체. 보다섹션 9.7.3자세한 내용은 regexp_replace ( 'Thomas', '. [mn] a.', 'm') THM
regexp_split_to_array (String 텍스트, 패턴 텍스트[,플래그 텍스트]) 텍스트 [] 분할StringPOSIX 정규 표현식을 구분 기자로 사용합니다. 보다섹션 9.7.3자세한 내용은 regexp_split_to_array ( 'Hello World', '\ s+') hello, world
regexp_split_to_table (String 텍스트, 패턴 텍스트[,플래그 텍스트]) 텍스트 설정 분할StringPOSIX 정규 표현식을 구분 기자로 사용합니다. 보다섹션 9.7.3자세한 내용은 regexp_split_to_table ( 'Hello World', '\ s+') hello

World

(2 줄)
반복 (String 텍스트, 번호 int) 텍스트 반복String지정된번호of Times 반복 ( 'PG', 4) pgpgpgpg
교체 (String 텍스트, From 텍스트, to 텍스트) 텍스트 모든 발생을 교체Stringof substringFromwith substringto 교체 ( 'abcdefabcdef', 'cd', 'xx') abxxefabxxef
Reverse (str) 텍스트 리턴 리버스 스트링. Reverse ( 'abcde') edcba
오른쪽 (str 텍스트, n int) 텍스트 마지막으로 반환n스포츠 토토의 문자. 언제n부정적입니다. 첫 번째를 제외한 모든 것을 반환 |n| 캐릭터. 오른쪽 ( 'abcde', 2) de
rpad (String 텍스트, 길이 int[, fill 텍스트]) 텍스트 채우기String길이길이문자를 추가하여fill(기본적으로 공간). 인 경우String이미보다 길다길이그런 다음 잘 렸습니다. rpad ( 'hi', 5, 'xy') hixyx
rtrim (String 텍스트[, 캐릭터 텍스트]) 텍스트 문자 만 포함하는 가장 긴 스포츠 토토 제거캐릭터(기본적으로 공간) 끝까지String rtrim ( 'testxxzx', 'xyz') 테스트
split_part (String 텍스트, Delimiter 텍스트, 필드 int) 텍스트 분할StringonDelimiter주어진 필드를 반환합니다 (1에서 계산) split_part ( 'abc ~@~ def ~@~ ghi', '~@~', 2) def
strpos (String, Substring) int 지정된 서브 스트링의 위치 (동일위치 (SubstringinString), 그러나 반전 된 인수 순서에 주목하십시오) strpos ( 'high', 'ig') 2
substr (String, From[, count]) 텍스트 기판 추출 (동일Substring (StringFromFromforcount)) 서브 스트 ( '알파벳', 3, 2) PH
TO_ASCII (String 텍스트[, 인코딩 텍스트]) 텍스트 변환StringtoASCII다른 인코딩에서 나온 것입니다 (에서만 변환 만 지원합니다.latin1, latin2, latin9Win1250인코딩) to_ascii ( 'karel') Karel
TO_HEX (번호 int또는bigint) 텍스트 Convert번호동등한 16 진수 표현에 대한 TO_HEX (2147483647) 7fffffff
번역 (String 텍스트, From 텍스트, to 텍스트) 텍스트 모든 캐릭터StringFrom세트는의 해당 문자로 대체됩니다.to세트. 만약에From보다 길다to, 추가 문자 발생From제거되었습니다. 번역 ( '12345', '143', 'ax') A2X5

theconcat, concat_wsand형식함수는 변수이므로 값을 연결하거나 형식으로 표시 할 값을로 전달할 수 있습니다.variadic키워드 (참조섹션 35.4.5). 배열의 요소는 마치 함수에 대한 일반적인 인수 인 것처럼 취급됩니다. variadic 어레이 인수가 null 인 경우concatconcat_wsreturn null이지만형식널을 제로 요소 배열로 취급합니다.

집계 함수 참조String_agginPostgreSQL : 문서 : 9.4 : 젠 토토 함수.

표 9-8. 내장 변환

변환 이름[a] 소스 인코딩 대상 인코딩
ascii_to_mic SQL_ASCII mule_internal
ascii_to_utf8 SQL_ASCII UTF8
big5_to_euc_tw big5 EUC_TW
big5_to_mic big5 mule_internal
big5_to_utf8 big5 UTF8
EUC_CN_TO_MIC EUC_CN mule_internal
euc_cn_to_utf8 EUC_CN UTF8
euc_jp_to_mic EUC_JP mule_internal
euc_jp_to_sjis EUC_JP SJIS
euc_jp_to_utf8 EUC_JP UTF8
EUC_KR_TO_MIC EUC_KR mule_internal
euc_kr_to_utf8 EUC_KR UTF8
euc_tw_to_big5 EUC_TW big5
euc_tw_to_mic EUC_TW mule_internal
euc_tw_to_utf8 EUC_TW UTF8
GB18030_TO_UTF8 GB18030 UTF8
gbk_to_utf8 GBK UTF8
ISO_8859_10_TO_UTF8 latin6 UTF8
ISO_8859_13_TO_UTF8 latin7 UTF8
ISO_8859_14_TO_UTF8 latin8 UTF8
ISO_8859_15_TO_UTF8 latin9 UTF8
ISO_8859_16_TO_UTF8 latin10 UTF8
ISO_8859_1_TO_MIC latin1 mule_internal
ISO_8859_1_TO_UTF8 latin1 UTF8
ISO_8859_2_TO_MIC latin2 mule_internal
ISO_8859_2_TO_UTF8 latin2 UTF8
iso_8859_2_to_windows_1250 latin2 Win1250
ISO_8859_3_TO_MIC latin3 mule_internal
ISO_8859_3_TO_UTF8 latin3 UTF8
ISO_8859_4_TO_MIC latin4 mule_internal
ISO_8859_4_TO_UTF8 latin4 UTF8
ISO_8859_5_TO_KOI8_R ISO_8859_5 Koi8R
ISO_8859_5_TO_MIC ISO_8859_5 mule_internal
ISO_8859_5_TO_UTF8 ISO_8859_5 UTF8
iso_8859_5_to_windows_1251 ISO_8859_5 Win1251
iso_8859_5_to_windows_866 ISO_8859_5 Win866
ISO_8859_6_TO_UTF8 ISO_8859_6 UTF8
ISO_8859_7_TO_UTF8 ISO_8859_7 UTF8
ISO_8859_8_TO_UTF8 ISO_8859_8 UTF8
ISO_8859_9_TO_UTF8 latin5 UTF8
johab_to_utf8 Johab UTF8
KOI8_R_TO_ISO_8859_5 KOI8R ISO_8859_5
KOI8_R_TO_MIC Koi8R mule_internal
KOI8_R_TO_UTF8 Koi8R UTF8
KOI8_R_TO_WINDOWS_1251 Koi8R Win1251
KOI8_R_TO_WINDOWS_866 KOI8R Win866
49899_49915 Koi8U UTF8
MIC_TO_ASCII mule_internal SQL_ASCII
MIC_TO_BIG5 mule_internal big5
MIC_TO_EUC_CN mule_internal EUC_CN
MIC_TO_EUC_JP mule_internal euc_jp
MIC_TO_EUC_KR mule_internal EUC_KR
MIC_TO_EUC_TW mule_internal EUC_TW
MIC_TO_ISO_8859_1 mule_internal latin1
MIC_TO_ISO_8859_2 mule_internal latin2
MIC_TO_ISO_8859_3 mule_internal latin3
MIC_TO_ISO_8859_4 mule_internal latin4
MIC_TO_ISO_8859_5 mule_internal ISO_8859_5
MIC_TO_KOI8_R mule_internal Koi8R
MIC_TO_SJIS mule_internal SJIS
MIC_TO_WINDOWS_1250 mule_internal Win1250
MIC_TO_WINDOWS_1251 mule_internal Win1251
MIC_TO_WINDOWS_866 mule_internal Win866
sjis_to_euc_jp SJIS EUC_JP
sjis_to_mic SJIS mule_internal
sjis_to_utf8 SJIS UTF8
Windows_1258_TO_UTF8 Win1258 UTF8
uhc_to_utf8 UHC UTF8
UTF8_TO_ASCII UTF8 SQL_ASCII
UTF8_TO_BIG5 UTF8 big5
UTF8_TO_EUC_CN UTF8 EUC_CN
UTF8_TO_EUC_JP UTF8 EUC_JP
UTF8_TO_EUC_KR UTF8 EUC_KR
UTF8_TO_EUC_TW UTF8 EUC_TW
UTF8_TO_GB18030 UTF8 GB18030
UTF8_TO_GBK UTF8 GBK
UTF8_TO_ISO_8859_1 UTF8 latin1
UTF8_TO_ISO_8859_10 UTF8 latin6
UTF8_TO_ISO_8859_13 UTF8 latin7
UTF8_TO_ISO_8859_14 UTF8 latin8
UTF8_TO_ISO_8859_15 UTF8 latin9
UTF8_TO_ISO_8859_16 UTF8 latin10
UTF8_TO_ISO_8859_2 UTF8 latin2
UTF8_TO_ISO_8859_3 UTF8 latin3
UTF8_TO_ISO_8859_4 UTF8 latin4
UTF8_TO_ISO_8859_5 UTF8 ISO_8859_5
UTF8_TO_ISO_8859_6 UTF8 ISO_8859_6
UTF8_TO_ISO_8859_7 UTF8 ISO_8859_7
UTF8_TO_ISO_8859_8 UTF8 ISO_8859_8
UTF8_TO_ISO_8859_9 UTF8 latin5
UTF8_TO_JOHAB UTF8 Johab
UTF8_TO_KOI8_R UTF8 Koi8R
UTF8_TO_KOI8_U UTF8 Koi8U
UTF8_TO_SJIS UTF8 SJIS
UTF8_TO_WINDOWS_1258 UTF8 Win1258
UTF8_TO_UHC UTF8 UHC
UTF8_TO_WINDOWS_1250 UTF8 Win1250
UTF8_TO_WINDOWS_1251 UTF8 Win1251
UTF8_TO_WINDOWS_1252 UTF8 Win1252
UTF8_TO_WINDOWS_1253 UTF8 Win1253
UTF8_TO_WINDOWS_1254 UTF8 Win1254
UTF8_TO_WINDOWS_1255 UTF8 Win1255
UTF8_TO_WINDOWS_1256 UTF8 Win1256
UTF8_TO_WINDOWS_1257 UTF8 Win1257
UTF8_TO_WINDOWS_866 UTF8 Win866
UTF8_TO_WINDOWS_874 UTF8 Win874
Windows_1250_TO_SO_ISO_8859_2 Win1250 latin2
Windows_1250_TO_MIC Win1250 mule_internal
Windows_1250_TO_UTF8 Win1250 UTF8
Windows_1251_TO_SO_ISO_8859_5 Win1251 ISO_8859_5
Windows_1251_TO_KOI8_R Win1251 KOI8R
Windows_1251_TO_MIC Win1251 mule_internal
Windows_1251_TO_UTF8 Win1251 UTF8
Windows_1251_TO_WINDOWS_866 Win1251 Win866
Windows_1252_TO_UTF8 Win1252 UTF8
Windows_1256_TO_UTF8 Win1256 UTF8
Windows_866_TO_ISO_8859_5 Win866 ISO_8859_5
Windows_866_TO_KOI8_R Win866 KOI8R
Windows_866_TO_MIC Win866 mule_internal
Windows_866_TO_UTF8 Win866 UTF8
Windows_866_TO_WINDOWS_1251 Win866 WIN
Windows_874_TO_UTF8 Win874 UTF8
euc_jis_2004_to_utf8 euc_jis_2004 UTF8
UTF8_TO_EUC_JIS_2004 UTF8 EUC_JIS_2004
shift_jis_2004_to_utf8 shift_jis_2004 UTF8
UTF8_TO_SHIFT_JIS_2004 UTF8 shift_jis_2004
EUC_JIS_2004_TO_SHIFT_JIS_2004 euc_jis_2004 shift_jis_2004
shift_jis_2004_to_euc_jis_2004 shift_jis_2004 EUC_JIS_2004
참고 :
a.변환 이름은 표준 이름 지정 체계를 따릅니다._to_, 유사하게 처리 된 대상 인코딩 이름이 뒤 따릅니다. 따라서 이름은 관례 인코딩 이름에서 벗어날 수 있습니다.

9.4.1. 형식

함수형식형식 문자열에 따라 C 함수와 유사한 스타일로 형식화 된 출력 생성Sprintf.

형식(Formatstr 텍스트[,Formatarg "Any"[, ...])

Formatstr는 결과를 형식화하는 방법을 지정하는 형식 문자열입니다. 문자열 형식의 텍스트는 결과에 직접 복사됩니다.형식 지정자사용됩니다. 형식 지정자는 문자열의 자리 표시 자 역할을하여 후속 기능 인수를 결과에 형식화하고 삽입 해야하는 방법을 정의합니다. 각Formatarg인수는 데이터 유형에 대한 일반적인 출력 규칙에 따라 텍스트로 변환 된 다음 형식 지정자 (s)에 따라 결과 문자열에 포맷하고 삽입됩니다..

형식 지정자는 A에 의해 소개됩니다.%캐릭터와 양식이 있습니다

%[위치] [플래그] [너비]타입

구성 요소 필드가있는 곳 :

위치(선택 사항)

양식의 스포츠 토토n$여기서n인쇄 할 논쟁의 색인입니다. 색인 1은 이후의 첫 번째 인수를 의미합니다.formatstr. 인 경우위치생략되고, 기본값은 다음 인수를 순서대로 사용하는 것입니다.

플래그(선택 사항)

형식 지정자의 출력이 형식화되는 방식을 제어하는 ​​추가 옵션. 현재 유일하게 지원되는 플래그는 마이너스 부호입니다 (-) 형식 지정자의 출력이 좌회전됩니다. 이것은이 아니라면 효과가 없습니다.너비필드도 지정되어 있습니다.

너비(선택 사항)

지정최소형식 지정자의 출력을 표시하는 데 사용할 문자 수입니다. 출력은 왼쪽 또는 오른쪽에 패딩됩니다 (-플래그) 너비를 채우는 데 필요한 공백이 있습니다. 너무 작은 너비는 출력이 잘리지는 않지만 단순히 무시됩니다. 너비는 다음 중 하나를 사용하여 지정 될 수 있습니다. 양의 정수; 별표 (*) 다음 함수 인수를 너비로 사용하려면; 또는 양식의 스포츠 토토*n$사용하려면nTH 기능 인수는 너비로 인수합니다.

너비가 함수 인수에서 나오는 경우, 그 인수는 형식 지정자의 값에 사용되는 인수 전에 소비됩니다. 너비 인수가 음수 인 경우 결과는 왼쪽으로 정렬됩니다 (마치 마치-플래그가 지정되었습니다) 길이 필드 내에서ABS(너비).

타입(필수)

형식 지정자의 출력을 생성하는 데 사용할 형식 변환 유형. 다음 유형이 지원됩니다.

  • S인수 값을 간단한 문자열로 형식화합니다. 널 값은 빈 문자열로 취급됩니다.

  • i인수 값을 SQL 식별자로 취급하여 필요한 경우 두 번 인용합니다. 값이 널이되는 것은 오류입니다.

  • l인수 값을 SQL 리터럴로 인용합니다. 널 값이 문자열로 표시됩니다NULL, 인용없이.

위에서 설명한 형식 지정자 외에도 특수 시퀀스%%문자를 출력하는 데 사용될 수 있습니다%문자.

기본 형식 변환의 몇 가지 예는 다음과 같습니다.

형식 선택 ( 'hello %s', 'world');결과 :Hello World형식을 선택하십시오 ( ' %s, %s, %s, %s,'1 ','two ','Three ');결과 :테스트 1, 2, 3, %형식을 선택하십시오 ( ' %i 값 ( %l)', 'foo bar', e'o \ 'reilly');결과 :"foo bar"값에 삽입 ( 'O''Reilly')형식 선택 ( ' %i 값 ( %l)', '위치', 'c : \ program files');결과 :위치에 삽입 값 ( 'C : \ Program Files')

여기를 사용하는 예는입니다.너비필드 및-플래그 :

형식 선택 ( '|%10s |', 'foo');결과 :|       foo |형식 선택 ( '|%-10s |', 'foo');결과 :| foo |형식 선택 ( '|%*s |', 10, 'foo');결과 :|       foo |형식 선택 ( '|%*s |', -10, 'foo');결과 :| foo |형식 선택 ( '|%-*s |', 10, 'foo');결과 :| foo |형식 선택 ( '|% -*s |', -10, 'foo');결과 :| foo |

이 예제는의 사용을 보여줍니다.위치필드 :

형식 선택 ( '테스트 %3 $ s, %2 $ s, %1 $ s', '1', 'two', 'Three');결과 :3, 2, 1 테스트형식 선택 ( '|%*2 $ s |', 'foo', 10, 'bar';결과 :|       바 |형식 선택 ( '|%1 $*2 $ s |', 'foo', 10, 'bar');결과 :|       foo |

표준 C 함수와 달리Sprintf, PostgreSQL's형식함수는 형식 지정자가 있거나없는 형식 지정자를 허용합니다위치동일한 형식 문자열로 혼합 할 필드. A가없는 형식 지정자위치필드는 항상 마지막 인수가 소비 된 후에 다음 인수를 사용합니다. 또한형식함수는 모든 함수 인수를 형식 문자열로 사용하지 않아도됩니다. 예를 들어:

형식 선택 ( '테스트 %3 $ s, %2 $ s, %s', '1', 'two', 'Three');결과 :3, 2, 3 테스트

the%Iand%l형식 지정자는 동적 SQL 문을 안전하게 구성하는 데 특히 유용합니다. 보다예 40-1.