이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 9.5. 이진 스포츠 토토 베트맨 함수 및 연산자버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.5. 이진 배트맨 토토 함수 및 연산자#

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

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

표 9.11. SQL이진 배트맨 토토 함수 및 연산자

기능/연산자

설명

예제

BYTEA || BYTEABYTEA

두 이진 배트맨 토토을 연결합니다.

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

bit_length(BYTEA) →Integer

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

bit_length ( '\ x123456':: bytea)24

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

BYTESREMOVED시작과 끝에서바이트.

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

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

BYTESREMOVED시작부터바이트.

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

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 from 2 for 3)\ x12020390

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

지정된 첫 번째 시작 색인을 반환Substring바이트또는 존재하지 않으면 0.

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

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

BYTESREMOVED끝에서바이트.

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

Substring(바이트 BYTEA[From 시작 정수] [for count Integer]) →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-스탠드 배트맨 토토 함수에 나열표 9.11.

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

기능

설명

예제

bit_count(바이트 BYTEA) →bigint

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

bit_count ( '\ x1234567890':: bytea)15

CRC32(BYTEA) →bigint

이진 배트맨 토토의 CRC-32 값을 계산합니다.

CRC32 ( 'ABC':: BYTEA)891568578

CRC32C(BYTEA) →bigint

이진 배트맨 토토의 CRC-32C 값을 계산합니다.

CRC32C ( 'ABC':: BYTEA)910901175

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

추출물n'th이진 배트맨 토토에서 비트.

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

get_byte(바이트 BYTEA, n Integer) →Integer

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

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

길이(BYTEA) →Integer

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

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

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

주어진 배트맨 토토의 문자 수를 반환합니다.인코딩.

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

MD5(BYTEA) →텍스트

MD5 계산HASH이진 배트맨 토토의 결과는 16 진수로 기록됩니다.

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

Reverse(BYTEA) →BYTEA

이진 문자열에서 바이트의 순서를 뒤집습니다.

Reverse ( '\ xabcd':: bytea)\ xcdab

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

세트n'th이진 배트맨 토토에 비트NewValue.

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

set_byte(바이트 BYTEA, n 정수, NewValue 정수) →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 B00361A39617A9CB410FF61F20015AD

SHA384(BYTEA) →BYTEA

SHA-384 계산HASH이진 배트맨 토토의.

SHA384 ( 'ABC':: BYTEA)\ XCB00753F45A35E8BB5A03D699AC65007 272C32AB0EDED1631A8B605A43FF5BED 8086072BA1E7CC2358BAECA134C825A7

SHA512(BYTEA) →BYTEA

SHA-512 계산HASH이진 배트맨 토토의.

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

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

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

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


기능get_byteandset_byte바이트 0으로 바이너리 스트링의 첫 바이트를 숫자. 함수get_bitset_bit각 바이트 내 오른쪽에서 숫자 비트; 예를 들어 비트 0은 첫 번째 바이트 중 가장 중요한 비트이고 비트 15는 두 번째 바이트 중 가장 중요한 비트입니다.

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

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

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

기능

설명

예제

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

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

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

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

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

convert_from ( 'text_in_utf8', 'utf8')text_in_utf8

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

변환텍스트인코딩에 인코딩 된 이진 문자열에 대한 문자열 (데이터베이스 인코딩)dest_encoding(참조섹션 23.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 #

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

또한 유형에 적분 값을 캐스트 할 수 있습니다BYTEA. 정수를 던지기BYTEA정수 유형의 너비에 따라 2, 4 또는 8 바이트를 생성합니다. 결과는 정수의 보완 표현이 가장 중요한 바이트를 먼저 보완합니다. 몇 가지 예 :

1234 :: smallint :: bytea\ x04d2캐스트 (1234 AS BYTEA)\ x000004d2캐스트 (-1234 AS BYTEA)\ xfffffb2e'\ x8000':: bytea :: smallint-32768'\ x8000':: bytea :: integer32768

캐스팅 aBYTEA정수의 길이가 오류가 발생하면BYTEA정수 유형의 너비를 초과합니다.

집계 함수 참조String_agginPostgreSQL : 문서 : 18 : 9.21. 와이즈 토토 기능큰 객체 기능은Postgresql: Tài liệu: 18: 33.4. Chức nă배트맨 토토 phía máy chủ.