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

9.4. 문자열 함수 및 연산자

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

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

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

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

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

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

기능 반환 유형 설명 결과
ascii(텍스트) 정수 ASCII코드 인수의 첫 번째 문자 ascii('x') 120
btrim(문자열 텍스트, 문자 텍스트) 텍스트 다음으로 구성된 가장 긴 문자열을 제거합니다. 문자문자에서 시작과 끝문자열. btrim('xyxtrimyyx', 'xy') 트림
문자(정수) 텍스트 주어진 문자ASCII코드 문자(65) A
변환(문자열 텍스트, [src_encoding 이름,] dest_encoding 이름) 텍스트 문자열을 다음으로 변환dest_encoding. 원래 인코딩은 에 의해 지정됨src_encoding. 만일src_encoding생략됨, 데이터베이스 인코딩이 가정됩니다. 변환('텍스트_유니코드', '유니코드', 'LATIN1') text_in_unicode대표 ISO 8859-1 인코딩에서
디코드(문자열 텍스트, 유형 텍스트) 바이테아 바이너리 데이터 디코딩문자열이전에 다음으로 인코딩됨인코딩. 매개변수 유형은 다음과 같습니다. 와 동일인코딩. 디코드('MTIzAAE=', 'base64') 123\000\001
인코딩(데이터 바이테아, 유형 텍스트) 텍스트 바이너리 데이터를 다음으로 인코딩ASCII-전용 표현. 지원됨 유형은 다음과 같습니다.base64, 16진수, 탈출. 인코드( '123\\000\\001', 'base64') MTIzAAE=
initcap(텍스트) 텍스트 각 단어의 첫 글자 변환 (공백으로 구분)을 대문자로 initcap('안녕 토마스') 안녕하세요 토마스
길이(문자열) 정수 문자열의 문자 수 길이('호세') 4
lpad(문자열 텍스트, 길이 정수 [, 채우기 텍스트]) 텍스트 채우세요문자열에 길이길이앞에 추가하여 캐릭터채우기(공백 기본적으로). 만약문자열이다 이미 다음보다 길다길이그러면 잘립니다(오른쪽). 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''라일리'
반복(텍스트, 정수) 텍스트 텍스트를 여러 번 반복 반복('Pg', 4) PgPgPgPg
교체(문자열 텍스트, from 텍스트, 텍스트) 텍스트 다음의 모든 항목 바꾸기문자열하위 문자열에서하위 문자열 포함. replace('abcdefabcdef', 'cd', 'XX') abXXefabXXef
rpad(문자열 텍스트, 길이 정수 [, 채우기 텍스트]) 텍스트 채우세요문자열에 길이길이다음을 추가하여 문자채우기(공백 기본값). 만약문자열이다 이미 다음보다 길다길이그러면 잘립니다. rpad('안녕', 5, 'xy') hixyx
rtrim(문자열텍스트,문자텍스트) 텍스트 문자만 포함하는 가장 긴 문자열 제거 에서문자끝부터 문자열의. rtrim('trimxxxx', 'x') 트림
split_part(문자열 텍스트, 구분자 텍스트, 필드 정수) 텍스트 분할문자열켜짐구분자그리고 주어진 필드를 반환합니다. (하나부터 계산) split_part( 'abc~@~def~@~ghi', '~@~', 2) def
strpos(문자열, 하위 문자열) int 지정된 하위 문자열의 위치(동일위치(하위 문자열in문자열), 하지만 주의하세요. 인수 순서가 반대임) strpos('높음', 'ig') 2
substr(문자열, from [, 개수]) 텍스트 하위 문자열 추출(동일하위 문자열(문자열fromfromfor개수)) substr('알파벳', 3, 2) ph
to_ascii(텍스트 [, 인코딩]) 텍스트 텍스트를 다음으로 변환ASCII다른 인코딩에서[a] to_ascii('카렐') 카렐
to_hex(번호 정수또는비긴트) 텍스트 변환번호그쪽으로 동등한 16진수 표현 to_hex(2147483647) 7fffffff
번역(문자열 텍스트, from 텍스트, 텍스트) 텍스트 다음 문자문자열다음 문자와 일치함from세트는 다음으로 대체됩니다. 의 해당 문자설정. translate('12345', '14', '도끼') a23x5
참고:
a.to_ascii함수 지원 에서 변환LATIN1, LATIN2WIN1250만.

표 9-8. 내장된 전환

변환 이름[a] 소스 인코딩 대상 인코딩
ascii_to_mic SQL_ASCII MULE_INTERNAL
ascii_to_utf_8 SQL_ASCII 유니코드
big5_to_euc_tw 빅5 EUC_TW
big5_to_mic 빅5 MULE_INTERNAL
big5_to_utf_8 빅5 유니코드
euc_cn_to_mic EUC_CN MULE_INTERNAL
euc_cn_to_utf_8 EUC_CN 유니코드
euc_jp_to_mic EUC_JP MULE_INTERNAL
euc_jp_to_sjis EUC_JP SJIS
euc_jp_to_utf_8 EUC_JP 유니코드
euc_kr_to_mic EUC_KR MULE_INTERNAL
euc_kr_to_utf_8 EUC_KR 유니코드
euc_tw_to_big5 EUC_TW 빅5
euc_tw_to_mic EUC_TW MULE_INTERNAL
euc_tw_to_utf_8 EUC_TW 유니코드
gb18030_to_utf_8 GB18030 유니코드
gbk_to_utf_8 GBK 유니코드
iso_8859_10_to_utf_8 LATIN6 유니코드
iso_8859_13_to_utf_8 LATIN7 유니코드
iso_8859_14_to_utf_8 LATIN8 유니코드
iso_8859_15_to_utf_8 LATIN9 유니코드
iso_8859_16_to_utf_8 LATIN10 유니코드
iso_8859_1_to_mic LATIN1 MULE_INTERNAL
iso_8859_1_to_utf_8 LATIN1 유니코드
iso_8859_2_to_mic LATIN2 MULE_INTERNAL
iso_8859_2_to_utf_8 LATIN2 유니코드
iso_8859_2_to_windows_1250 LATIN2 WIN1250
iso_8859_3_to_mic LATIN3 MULE_INTERNAL
iso_8859_3_to_utf_8 LATIN3 유니코드
iso_8859_4_to_mic LATIN4 MULE_INTERNAL
iso_8859_4_to_utf_8 LATIN4 유니코드
iso_8859_5_to_koi8_r ISO_8859_5 KOI8
iso_8859_5_to_mic ISO_8859_5 MULE_INTERNAL
iso_8859_5_to_utf_8 ISO_8859_5 유니코드
iso_8859_5_to_windows_1251 ISO_8859_5 승리
iso_8859_5_to_windows_866 ISO_8859_5 대체
iso_8859_6_to_utf_8 ISO_8859_6 유니코드
iso_8859_7_to_utf_8 ISO_8859_7 유니코드
iso_8859_8_to_utf_8 ISO_8859_8 유니코드
iso_8859_9_to_utf_8 LATIN5 유니코드
johab_to_utf_8 조하브 유니코드
koi8_r_to_iso_8859_5 KOI8 ISO_8859_5
koi8_r_to_mic KOI8 MULE_INTERNAL
koi8_r_to_utf_8 KOI8 유니코드
koi8_r_to_windows_1251 KOI8 승리
koi8_r_to_windows_866 KOI8 대체
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 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 KOI8
mic_to_sjis MULE_INTERNAL SJIS
mic_to_windows_1250 MULE_INTERNAL WIN1250
mic_to_windows_1251 MULE_INTERNAL 승리
mic_to_windows_866 MULE_INTERNAL 대체
sjis_to_euc_jp SJIS EUC_JP
sjis_to_mic SJIS MULE_INTERNAL
sjis_to_utf_8 SJIS 유니코드
tcvn_to_utf_8 TCVN 유니코드
uhc_to_utf_8 UHC 유니코드
utf_8_to_ascii 유니코드 SQL_ASCII
utf_8_to_big5 유니코드 빅5
utf_8_to_euc_cn 유니코드 EUC_CN
utf_8_to_euc_jp 유니코드 EUC_JP
utf_8_to_euc_kr 유니코드 EUC_KR
utf_8_to_euc_tw 유니코드 EUC_TW
utf_8_to_gb18030 유니코드 GB18030
utf_8_to_gbk 유니코드 GBK
utf_8_to_iso_8859_1 유니코드 라틴어1
utf_8_to_iso_8859_10 유니코드 LATIN6
utf_8_to_iso_8859_13 유니코드 LATIN7
utf_8_to_iso_8859_14 유니코드 LATIN8
utf_8_to_iso_8859_15 유니코드 LATIN9
utf_8_to_iso_8859_16 유니코드 LATIN10
utf_8_to_iso_8859_2 유니코드 LATIN2
utf_8_to_iso_8859_3 유니코드 LATIN3
utf_8_to_iso_8859_4 유니코드 LATIN4
utf_8_to_iso_8859_5 유니코드 ISO_8859_5
utf_8_to_iso_8859_6 유니코드 ISO_8859_6
utf_8_to_iso_8859_7 유니코드 ISO_8859_7
utf_8_to_iso_8859_8 유니코드 ISO_8859_8
utf_8_to_iso_8859_9 유니코드 LATIN5
utf_8_to_johab 유니코드 조하브
utf_8_to_koi8_r 유니코드 KOI8
utf_8_to_sjis 유니코드 SJIS
utf_8_to_tcvn 유니코드 TCVN
utf_8_to_uhc 유니코드 UHC
utf_8_to_windows_1250 유니코드 WIN1250
utf_8_to_windows_1251 유니코드 승리
utf_8_to_windows_1256 유니코드 WIN1256
utf_8_to_windows_866 유니코드 대체
utf_8_to_windows_874 유니코드 WIN874
windows_1250_to_iso_8859_2 WIN1250 LATIN2
windows_1250_to_mic WIN1250 MULE_INTERNAL
windows_1250_to_utf_8 WIN1250 유니코드
windows_1251_to_iso_8859_5 승리 ISO_8859_5
windows_1251_to_koi8_r 승리 KOI8
windows_1251_to_mic 승리 MULE_INTERNAL
windows_1251_to_utf_8 승리 유니코드
windows_1251_to_windows_866 승리 ALT
windows_1256_to_utf_8 WIN1256 유니코드
windows_866_to_iso_8859_5 대체 ISO_8859_5
windows_866_to_koi8_r 대체 KOI8
windows_866_to_mic 대체 MULE_INTERNAL
windows_866_to_utf_8 대체 유니코드
windows_866_to_windows_1251 대체 승리
windows_874_to_utf_8 WIN874 유니코드
참고:
a.변환 이름은 표준 명명 체계를 따릅니다. 모두 포함된 소스 인코딩의 공식 이름 영숫자가 아닌 문자는 밑줄로 대체됨 이어서_to_뒤에 동일하게 처리된 대상 인코딩 이름입니다. 그러므로 이름은 관례적인 인코딩에서 벗어날 수 있습니다. 이름.