이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 9.4. 스포츠 토토 결과 함수 및 연산자버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.4. 문자열 함수 및 연산자

이 섹션에서는 검사를 위한 함수와 연산자를 설명합니다. 문자열 값을 조작합니다. 이 컨텍스트의 문자열에는 다음이 포함됩니다. 모든 유형의 값문자, 문자 다양텍스트. 별도의 언급이 없는 한 모든 기능은 아래 나열된 작업은 이러한 모든 유형에 적용되지만 잠재적인 위험에 주의하세요. 를 사용할 때 자동 패딩 효과문자유형. 일반적으로 설명된 기능은 여기서도 문자열이 아닌 유형의 데이터를 변환하여 작업합니다. 먼저 데이터를 문자열 표현으로 변환합니다. 일부 기능도 존재합니다. 기본적으로 비트 문자열 유형에 대한 것입니다.

SQL일부 문자열을 정의합니다. 특정 키워드가 아닌 특수 구문을 사용하는 함수 쉼표는 인수를 구분하는 데 사용됩니다. 자세한 내용은 다음을 참조하세요.테이블 9-5. 이러한 기능은 일반 함수를 사용하여 구현됩니다. 함수 호출 구문. (참조테이블 9-6.)

표 9-5.SQL문자열 함수 및 연산자

기능 반환 유형 설명 결과
문자열 || 문자열 텍스트 문자열 연결 '게시물' || 'greSQL' PostgreSQL
bit_length(문자열) int 문자열의 비트 수 bit_length('호세') 32
char_length(문자열)또는character_length(문자열) int 문자열의 문자 수 char_length('호세') 4
변환(문자열사용 중conversion_name) 텍스트 지정된 변환 이름을 사용하여 인코딩을 변경합니다. 전환은 다음과 같이 정의할 수 있습니다.만들기 전환. 또한 미리 정의된 항목도 있습니다. 변환 이름. 참조표 9-7사용 가능한 변환 이름에 대해. convert('PostgreSQL'을 사용하여 iso_8859_1_to_utf8) 'PostgreSQL'UTF8로 (유니코드, 8비트) 인코딩
하위(문자열) 텍스트 문자열을 소문자로 변환 하위('TOM')
옥텟_길이(문자열) int 문자열의 바이트 수 octet_length('호세') 4
오버레이(문자열배치문자열fromint [forint]) 텍스트 하위 문자열 교체 overlay('Txxxxas'가 'hom'을 배치함 2대4부터) 토마스
위치(하위 문자열문자열) int 지정된 하위 문자열의 위치 위치('om' in '토마스') 3
하위 문자열(문자열 [fromint] [forint]) 텍스트 하위 문자열 추출 substring(2의 '토마스' 3)
하위 문자열(문자열from패턴) 텍스트 POSIX 정규 표현식과 일치하는 하위 문자열을 추출합니다. 참조PostgreSQL : 문서 : 8.2 : 토토 매칭용 패턴 일치에 대한 자세한 내용을 참조하세요. substring('토마스' from '...$') 마스
하위 문자열(문자열from패턴for탈출) 텍스트 일치하는 하위 문자열 추출SQL정규 표현식. 참조섹션 9.7더 보기 패턴 매칭에 대한 정보입니다. substring('토마스' from '#'의 경우 '%#"o_a#"_') 오마
트림([리딩 | 후행 | 둘 다] [문자] 에서문자열) 텍스트 다음만 포함하는 가장 긴 문자열을 제거합니다.문자(공백 기본값)의 시작/끝/양쪽 끝에서문자열 trim(둘 다 'x' 'xTomxx')
상부(문자열) 텍스트 문자열을 대문자로 변환 어퍼('톰')

추가 문자열 조작 기능을 사용할 수 있으며 에 나열됨표 9-6. 그 중 일부는 내부적으로 다음을 구현하는 데 사용됩니다.SQL-다음에 나열된 표준 문자열 함수테이블 9-5.

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

기능 반환 유형 설명 결과
ascii(문자열) int ASCII코드 인수의 첫 번째 바이트 ascii('x') 120
btrim(문자열 텍스트 [, 문자 텍스트]) 텍스트 다음으로 구성된 가장 긴 문자열을 제거합니다. 문자문자(a 기본적으로 공백) 시작과 끝에서문자열 btrim('xyxtrimyyx', 'xy') 트림
문자(int) 텍스트 주어진 문자를 가진 캐릭터ASCII코드 문자(65) A
변환(문자열 텍스트, [src_encoding 이름,] dest_encoding 이름) 텍스트 문자열을 다음으로 변환dest_encoding. 원래 인코딩은 에 의해 지정됨src_encoding. 만일src_encoding생략됨, 데이터베이스 인코딩이 가정됩니다. 변환( 'text_in_utf8', 'UTF8', 'LATIN1') text_in_utf8다음으로 표시됨 ISO 8859-1 인코딩
디코드(문자열 텍스트, 유형 텍스트) 바이테아 바이너리 데이터 디코딩문자열이전에 다음으로 인코딩됨인코딩. 매개변수 유형은 다음과 같습니다. 와 동일인코딩. 디코드('MTIzAAE=', 'base64') 123\000\001
인코딩(데이터 바이테아, 유형 텍스트) 텍스트 바이너리 데이터를 다른 표현으로 인코딩합니다. 지원되는 유형은 다음과 같습니다.base64, 16진수, 탈출. 탈출단순히 null 바이트를 다음과 같이 출력합니다.\000그리고 백슬래시를 두 배로 늘립니다. 인코드(E'123\\000\\001', 'base64') MTIzAAE=
initcap(문자열) 텍스트 각 단어의 첫 글자를 대문자로 변환 나머지는 소문자로. 단어는 일련의 영숫자가 아닌 문자로 구분된 영숫자 문자 문자. initcap('안녕 토마스') 안녕하세요 토마스
길이(문자열) int 문자 수문자열 길이('호세') 4
lpad(문자열 텍스트, 길이 int [, 채우기 텍스트]) 텍스트 채우세요문자열에 길이길이앞에 추가하여 캐릭터채우기(공백 기본적으로). 만약문자열이다 이미 다음보다 길다길이그러면 잘립니다(오른쪽). lpad('안녕', 5, 'xy') xyxhi
ltrim(문자열 텍스트 [, 문자 텍스트]) 텍스트 문자만 포함하는 가장 긴 문자열 제거 에서문자(공백 기본값)의 시작부터문자열 ltrim('zzzytrim', 'xyz') 트림
md5(문자열) 텍스트 다음의 MD5 해시를 계산합니다.문자열, 결과를 다음으로 반환합니다. 16진수 md5('abc') 900150983cd24fb0 d6963f7d28e17f72
pg_client_encoding() 이름 현재 클라이언트 인코딩 이름 pg_client_encoding() SQL_ASCII
quote_ident(문자열) 텍스트 다음과 같이 사용되도록 적절하게 인용된 주어진 문자열을 반환합니다. 의 식별자SQL문 문자열. 견적은 필요한 경우에만 추가됩니다(즉, 문자열에 다음이 포함된 경우). 식별자가 아닌 문자이거나 대소문자가 구분됩니다). 삽입된 따옴표는 적절하게 두 배로 표시됩니다. quote_ident('푸바') "푸 바"
quote_literal(문자열) 텍스트 다음과 같이 사용되도록 적절하게 인용된 주어진 문자열을 반환합니다. 의 문자열 리터럴SQL문 문자열. 임베디드 작은따옴표와 백슬래시는 적절하게 두 배가 됩니다. quote_literal( '오\'라일리') 'O''라일리'
regexp_replace(문자열 텍스트, 패턴 텍스트, 교체 텍스트 [,플래그 텍스트]) 텍스트 POSIX 정규 표현식과 일치하는 하위 문자열을 교체하세요. 참조PostgreSQL : 문서 : 8.2 : 토토 매칭용 패턴 일치에 대한 자세한 내용을 참조하세요. regexp_replace('토마스', '.[mN]a.', 'M')
반복(문자열 텍스트, 번호 int) 텍스트 반복문자열지정됨번호 반복('Pg', 4) PgPgPgPg
교체(문자열 텍스트, from 텍스트, 텍스트) 텍스트 다음의 모든 항목 바꾸기문자열하위 문자열에서하위 문자열 포함 replace('abcdefabcdef', 'cd', 'XX') abXXefabXXef
rpad(문자열 텍스트, 길이 int [, 채우기 텍스트]) 텍스트 채우세요문자열에 길이길이다음을 추가하여 문자채우기(공백 기본값). 만약문자열이다 이미 다음보다 길다길이그러면 잘립니다. rpad('안녕', 5, 'xy') hixyx
rtrim(문자열 텍스트 [, 문자 텍스트]) 텍스트 문자만 포함하는 가장 긴 문자열 제거 에서문자(공백 기본값)의 끝부터문자열 rtrim('trimxxxx', 'x') 트림
split_part(문자열 텍스트, 구분자 텍스트, 필드 int) 텍스트 분할문자열켜짐구분자그리고 주어진 필드를 반환합니다. (하나부터 계산) split_part('abc~@~def~@~ghi', '~@~', 2) def
strpos(문자열, 하위 문자열) int 지정된 하위 문자열의 위치(동일위치(하위 문자열문자열), 하지만 주의하세요 인수 순서가 반대임) strpos('높음', 'ig') 2
substr(문자열, from [, 개수]) 텍스트 하위 문자열 추출(동일하위 문자열(문자열에서fromfor개수)) substr('알파벳', 3, 2) ph
to_ascii(문자열 텍스트 [, 인코딩 텍스트]) 텍스트 변환문자열ASCII다른 사람에게서 인코딩(다음의 변환만 지원함LATIN1, LATIN2, LATIN9WIN1250인코딩) to_ascii('카렐') 카렐
to_hex(번호 int또는비긴트) 텍스트 변환번호그쪽으로 동등한 16진수 표현 to_hex(2147483647) 7fffffff
번역(문자열 텍스트, from 텍스트, 텍스트) 텍스트 다음 문자문자열다음 문자와 일치함from세트는 다음으로 대체됩니다. 의 해당 문자설정 translate('12345', '14', '도끼') a23x5

표 9-7. 내장된 전환

변환 이름[a] 소스 인코딩 대상 인코딩
ascii_to_mic SQL_ASCII MULE_INTERNAL
ascii_to_utf8 SQL_ASCII UTF8
big5_to_euc_tw 빅5 EUC_TW
big5_to_mic 빅5 MULE_INTERNAL
big5_to_utf8 빅5 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 빅5
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 라틴어1 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 라틴4 MULE_INTERNAL
iso_8859_4_to_utf8 LATIN4 UTF8
iso_8859_5_to_koi8_r ISO_8859_5 KOI8
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 조하브 UTF8
koi8_r_to_iso_8859_5 KOI8 ISO_8859_5
koi8_r_to_mic KOI8 MULE_INTERNAL
koi8_r_to_utf8 KOI8 UTF8
koi8_r_to_windows_1251 KOI8 WIN1251
koi8_r_to_windows_866 KOI8 WIN866
mic_to_ascii MULE_INTERNAL SQL_ASCII
mic_to_big5 MULE_INTERNAL 빅5
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 라틴어1
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 KOI8
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
tcvn_to_utf8 WIN1258 UTF8
uhc_to_utf8 UHC UTF8
utf8_to_ascii UTF8 SQL_ASCII
utf8_to_big5 UTF8 빅5
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 라틴어1
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 조하브
utf8_to_koi8_r UTF8 KOI8
utf8_to_sjis UTF8 SJIS
utf8_to_tcvn 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_iso_8859_2 WIN1250 LATIN2
windows_1250_to_mic WIN1250 MULE_INTERNAL
windows_1250_to_utf8 WIN1250 UTF8
windows_1251_to_iso_8859_5 WIN1251 ISO_8859_5
windows_1251_to_koi8_r WIN1251 KOI8
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 KOI8
windows_866_to_mic WIN866 MULE_INTERNAL
windows_866_to_utf8 WIN866 UTF8
windows_866_to_windows_1251 WIN866 승리
windows_874_to_utf8 WIN874 UTF8
참고:
a.변환 이름은 표준 명명 체계를 따릅니다. 모두 포함된 소스 인코딩의 공식 이름 영숫자가 아닌 문자는 밑줄로 대체됨 이어서_to_뒤에 동일하게 처리된 대상 인코딩 이름입니다. 그러므로 이름은 관례적인 인코딩에서 벗어날 수 있습니다. 이름.