9.5. 이진 범퍼카 토토 함수 및 연산자

이 섹션은 이진 범퍼카 토토을 검사하고 조작하기위한 함수 및 연산자를 설명합니다.BYTEA. 이들 중 다수는 목적과 구문에서 이전 섹션에 설명 된 텍스트 범퍼카 토토 함수와 동일합니다.

SQL인수를 분리하기 위해 쉼표가 아닌 핵심 단어를 사용하는 일부 범퍼카 토토 함수를 정의합니다. 세부 사항은표 9.11. PostgreSQL일반 함수 호출 구문을 사용하는 이러한 기능의 버전을 제공합니다 (참조표 9.12).

표 9.11. SQL이진 범퍼카 토토 함수 및 연산자

기능/연산자

설명

예제

BYTEA || BYTEABYTEA

두 이진 범퍼카 토토을 연결합니다.

'\ x123456':: bytea || '\ x789a00bcde':: bytea\ x123456789A00BCDE

bit_length(BYTEA) →정수

이진 범퍼카 토토에서 비트 수를 반환합니다 (8 배Octet_length).

bit_length ( '\ x123456':: bytea)24

Octet_length(BYTEA) →Integer

이진 범퍼카 토토에서 바이트 수를 반환합니다.

Octet_length ( '\ x123456':: bytea)3

오버레이(바이트 BYTEA 배치 NewsUbstring BYTEA From 시작 Integer[for count 정수]) →BYTEA

|바이트에서 시작하는시작'th 바이트 및 확장count바이트NewsUbstring. 만약에count생략되면 기본값NewsUbstring.

오버레이 ( '\ x1234567890':: 바이트 배치 '\ 002 \ 003':: Bytea 2 for 3 for 3)\ x12020390

위치(Substring BYTEA in 바이트 BYTEA) →Integer

지정된 첫 번째 시작 인덱스를 반환Substring바이트또는 존재하지 않는 경우 0.

위치 ( '\ x5678':: bytea in '\ x1234567890':: bytea)3

Substring(바이트 BYTEA[From 시작 Integer] [for count 정수]) →BYTEA

|의 기판 추출바이트시작시작count바이트가 지정된 경우. 중 하나 이상 제공시작andcount.

Substring ( '\ x1234567890':: Bytea from 3 for 2)\ x5678

트림([주요 | 후행 | 둘 다]BYTESREMOVED BYTEA From 바이트 BYTEA) →BYTEA

BYTESREMOVED시작, 끝 또는 양쪽 끝에서 (둘 다기본값)의바이트.

trim ( '\ x9012':: bytea from '\ x1234567890':: bytea)\ x345678

트림([주요 | 후행 | 둘 다] [From]바이트 BYTEA, BYTESREMOVED BYTEA) →BYTEA

이것은 비표준 구문입니다.trim ().

트림 ( '\ x1234567890':: Bytea, '\ x9012':: bytea)\ x345678


추가 바이너리 스트링 조작 함수를 사용할 수 있으며에 나열되어 있습니다.표 9.12. 그들 중 일부는 내부적으로 사용되어SQL-Standard String 함수에 나열표 9.11.

표 9.12. 기타 이진 문자열 함수

function

설명

예제

bit_count(바이트 BYTEA) →bigint

이진 범퍼카 토토에 설정된 비트 수를 반환합니다 (또한PopCount).

bit_count ( '\ x1234567890':: bytea)15

btrim(바이트 BYTEA, BYTESREMOVED BYTEA) →BYTEA

BYTESREMOVED의 시작과 끝에서바이트.

btrim ( '\ x1234567890':: bytea, '\ x9012':: bytea)\ x345678

get_bit(바이트 BYTEA, n bigint) →Integer

추출물n'th이진 범퍼카 토토에서 비트.

get_bit ( '\ x1234567890':: Bytea, 30)1

get_byte(바이트 BYTEA, n 정수) →정수

추출물n'th이진 문자열에서 바이트.

get_byte ( '\ x1234567890':: Bytea, 4)144

길이(BYTEA) →Integer

이진 문자열의 바이트 수를 반환합니다.

길이 ( '\ x1234567890':: bytea)5

길이(바이트 BYTEA, 인코딩 이름) →정수

주어진 텍스트라고 가정 할 때 이진 범퍼카 토토의 문자 수를 반환합니다인코딩.

길이 ( 'Jose':: Bytea, 'utf8')4

ltrim(바이트 BYTEA, BYTESREMOVED BYTEA) →BYTEA

BYTESREMOVED시작부터바이트.

ltrim ( '\ x1234567890':: bytea, '\ x9012':: bytea)\ x34567890

MD5(BYTEA) →텍스트

MD5 계산Hash이진 범퍼카 토토의 결과는 16 진수로 기록됩니다.

md5 ( 'th \ 000omas':: bytea)8AB2D3C9689AAF18 B4958C334C82D8B1

rtrim(바이트 BYTEA, BYTESREMOVED BYTEA) →BYTEA

BYTESREMOVED끝에서바이트.

rtrim ( '\ x1234567890':: bytea, '\ x9012':: bytea)\ x12345678

set_bit(바이트 BYTEA, n bigint, NewValue Integer) →BYTEA

세트n'th이진 범퍼카 토토에서 비트NewValue.

set_bit ( '\ x1234567890':: Bytea, 30, 0)\ x1234563890

set_byte(바이트 BYTEA, n Integer, NewValue Integer) →BYTEA

세트n'th바이너리 문자열의 바이트NewValue.

set_byte ( '\ x1234567890':: Bytea, 4, 64)\ x1234567840

SHA224(BYTEA) →BYTEA

SHA-224를 계산합니다HASH이진 범퍼카 토토의.

SHA224 ( 'ABC':: BYTEA)\ x23097D2223405D8228642A477BDA2 55B32AADBCE4BDA0B3F7E36C9DA7

SHA256(BYTEA) →BYTEA

SHA-256을 계산합니다HASH이진 범퍼카 토토의.

SHA256 ( 'ABC':: BYTEA)\ XBA7816BF8F01CFEA414140DE5DAE2223 B00361A396177A9CB410FF61F20015AD

SHA384(BYTEA) →BYTEA

SHA-384 계산HASH이진 범퍼카 토토의.

SHA384 ( 'ABC':: BYTEA)\ xcb00753f45A35E8BB5A03D699AC65007 272C32AB0EDED1631A8B605A43FF5BED 8086072BA1E7C2358BAECA134C825A7

SHA512(BYTEA) →BYTEA

SHA-512 계산HASH이진 범퍼카 토토의.

SHA512 ( 'ABC':: BYTEA)\ XDDAF35A193617ABACC417349AE204131 12E6FA4E89A97EA20A9EEEE64 B55D39A 2192992A274FC1A836BA3C23A3FEEBBD 454D4423643CE80E2A9AC94FA5449F

Substr(바이트 BYTEA, 시작 정수[, count 정수]) →BYTEA

|의 기판 추출바이트시작시작'TH 바이트 및 확장count바이트가 지정된 경우. (동일Substring (바이트시작forcount).)

substr ( '\ x1234567890':: Bytea, 3, 2)\ x5678


기능get_byteset_byte이진 문자열의 첫 바이트를 바이트 0으로 번호를 매 깁니다. 함수get_bitset_bit각 바이트 내 오른쪽에서 숫자 비트; 예를 들어 비트 0은 첫 번째 바이트 중 가장 중요한 비트이고 비트 15는 두 번째 바이트 중 가장 중요한 비트입니다.

역사적 이유로 기능MD5유형의 16 진수 인코딩 된 값을 반환텍스트SHA-2 기능 반환 유형BYTEA. 함수 사용Encodeanddecode둘 사이를 변환합니다. 예를 들어 쓰기Encode (SHA256 ( 'ABC'), 'hex')육각형 텍스트 표현을 얻으려면Decode (MD5 ( 'ABC'), 'hex')aBYTEAvalue.

다른 문자 세트 (인코딩) 사이에서 문자열을 변환하고 텍스트 형식으로 임의의 이진 데이터를 나타내는 기능표 9.13. 이러한 기능의 경우 유형의 인수 또는 결과텍스트데이터베이스의 기본 인코딩에 표현되며 유형의 인수 또는 결과BYTEA다른 인수에 의해 명명 된 인코딩에 있습니다.

표 9.13. 텍스트/이진 문자열 변환 함수

기능

설명

예제

변환(바이트 BYTEA, src_encoding 이름, dest_encoding 이름) →BYTEA

인코딩에서 텍스트를 나타내는 이진 문자열 변환src_encoding인코딩의 이진 문자열dest_encoding(참조섹션 24.3.4사용 가능한 전환).

convert ( 'text_in_utf8', 'utf8', 'latin1')\ x746578745F696E5F75746638

convert_from(바이트 BYTEA, src_encoding 이름) →텍스트

인코딩에서 텍스트를 나타내는 이진 문자열 변환src_encodingto텍스트데이터베이스 인코딩에서 (참조섹션 24.3.4사용 가능한 전환).

convert_from ( 'text_in_utf8', 'utf8')text_in_utf8

convert_to(String 텍스트, dest_encoding 이름) →BYTEA

변환텍스트인코딩에서 인코딩 된 이진 문자열에 대한 문자열 (데이터베이스 인코딩)dest_encoding(참조섹션 24.3.4사용 가능한 전환).

convert_to ( 'some_text', 'utf8')\ x736f6d655f74657874

Encode(바이트 BYTEA, 형식 텍스트) →텍스트

이진 데이터를 텍스트 표현으로 인코딩합니다. 지원형식값은 다음과 같습니다.Base64, 탈출, hex.

Encode ( '123 \ 000 \ 001', 'Base64')mtizaae =

decode(String 텍스트, 형식 텍스트) →BYTEA

텍스트 표현에서 이진 데이터를 디코딩합니다. 지원형식값은와 동일합니다.Encode.

decode ( 'mtizaae =', 'base64')\ x3132330001


theEncodeanddecode함수는 다음 텍스트 형식을 지원합니다.

Base64

theBase64형식은입니다.RFC 2045 섹션 6.8. 에 따라RFC, 인코딩 된 라인은 76 자로 고장납니다. 그러나 MIME CRLF 엔드 라인 마커 대신 최종 라인 만 사용됩니다. 그만큼decode함수는 캐리지 퇴행, Newline, Space 및 Tab 문자를 무시합니다. 그렇지 않으면 오류가 발생합니다.decode유효하지 않은 Base64 데이터 - 후행 패딩이 잘못되었을 때를 포함하여

탈출

the탈출형식은 높은 비트가 Octal Escape 시퀀스로 설정된 0 바이트 및 바이트를 변환합니다 (\NNN), 백 슬래시를 두 배로 늘립니다. 다른 바이트 값은 문자 그대로 표시됩니다. 그만큼decodeBackslash가 두 번째 백 슬래시 또는 3 개의 옥탈 자리가 뒤 따르지 않으면 함수가 오류가 발생합니다. 다른 바이트 값을 변경하지 않습니다.

hex

thehex형식은 각 4 비트의 데이터를 하나의 16 진수 숫자로 나타냅니다.0throughF, 각 바이트의 고차 숫자를 먼저 씁니다. 그만큼Encode함수 출력a-f하위 케이스의 16 진수. 가장 작은 데이터 단위는 8 비트이기 때문에 항상 수많은 문자가 있습니다.Encode. 그만큼decode함수는를 허용합니다a-f어퍼 케이스 또는 소문자의 문자. 에 오류가 발생합니다.decode홀수 문자가 주어질 때를 포함하여 유효하지 않은 16 진수 데이터가 제공됩니다.

집계 함수 참조String_agginPostgreSQL : 문서 : 15 : 9.21. 메이저 토토 사이트 기능큰 객체 기능PostgreSQL : 문서 : 15 : 35.4. 서버 측 롤 토토.

수정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면