이 섹션은 이진 배트맨 토토을 검사하고 조작하기위한 함수 및 연산자를 설명합니다.BYTEA
. 이들 중 다수는 목적과 구문에서 이전 섹션에 설명 된 텍스트 문자열 함수와 동일합니다.
SQL쉼표가 아닌 핵심 단어를 사용하여 인수를 분리하는 일부 배트맨 토토 함수를 정의합니다. 세부 사항은표 9.11. PostgreSQL일반 함수 호출 구문을 사용하는 이러한 기능의 버전을 제공합니다 (참조표 9.12).
표 9.11. SQL이진 배트맨 토토 함수 및 연산자
추가 바이너리 스트링 조작 함수를 사용할 수 있으며에 나열되어 있습니다.표 9.12. 그들 중 일부는 내부적으로 사용되어SQL-스탠드 배트맨 토토 함수에 나열표 9.11.
표 9.12. 기타 이진 문자열 함수
기능 설명 예제 |
---|
이진 배트맨 토토에 설정된 비트 수를 반환합니다 (또한“PopCount”).
|
이진 배트맨 토토의 CRC-32 값을 계산합니다.
|
이진 배트맨 토토의 CRC-32C 값을 계산합니다.
|
추출물n'th이진 배트맨 토토에서 비트.
|
추출물n'th이진 문자열에서 바이트.
|
이진 문자열의 바이트 수를 반환합니다.
|
주어진 배트맨 토토의 문자 수를 반환합니다.
|
MD5 계산HASH이진 배트맨 토토의 결과는 16 진수로 기록됩니다.
|
이진 문자열에서 바이트의 순서를 뒤집습니다.
|
세트n'th이진 배트맨 토토에 비트
|
세트n'th바이너리 문자열의 바이트
|
SHA-224 계산Hash바이너리 스트링.
|
SHA-256 계산HASH이진 배트맨 토토의.
|
SHA-384 계산HASH이진 배트맨 토토의.
|
SHA-512 계산HASH이진 배트맨 토토의.
|
|의 기판 추출
|
기능get_byte
andset_byte
바이트 0으로 바이너리 스트링의 첫 바이트를 숫자. 함수get_bit
및set_bit
각 바이트 내 오른쪽에서 숫자 비트; 예를 들어 비트 0은 첫 번째 바이트 중 가장 중요한 비트이고 비트 15는 두 번째 바이트 중 가장 중요한 비트입니다.
역사적 이유로 기능MD5
유형의 16 진수 인코딩 된 값을 반환텍스트
SHA-2 기능 반환 유형BYTEA
. 함수 사용Encode
및decode
둘 사이를 변환합니다. 예를 들어 쓰기Encode (SHA256 ( 'ABC'), 'hex')
육각형 텍스트 표현을 얻으려면decode (md5 ( 'abc'), 'hex')
aBYTEA
value.
다른 문자 세트 (인코딩) 사이에서 문자열을 변환하고 텍스트 형식으로 임의의 이진 데이터를 나타내는 기능표 9.13. 이러한 기능의 경우 유형의 인수 또는 결과텍스트
데이터베이스의 기본 인코딩에 표현되며 유형의 인수 또는 결과BYTEA
다른 인수에 의해 명명 된 인코딩에 있습니다.
표 9.13. 텍스트/이진 문자열 변환 함수
기능 설명 예제 |
---|
인코딩에서 텍스트를 나타내는 이진 문자열 변환
|
인코딩에서 텍스트를 나타내는 이진 문자열 변환
|
변환
|
이진 데이터를 텍스트 표현으로 인코딩합니다. 지원
|
텍스트 표현에서 이진 데이터를 디코딩합니다. 지원
|
theEncode
anddecode
함수는 다음 텍스트 형식을 지원합니다.
theBase64
형식은입니다.RFC 2045 섹션 6.8. 에 따라RFC, 인코딩 된 라인은 76 자로 고장납니다. 그러나 MIME CRLF 엔드 라인 마커 대신 최종 라인 만 사용됩니다. 그만큼decode
함수는 캐리지 퇴행, Newline, Space 및 Tab 문자를 무시합니다. 그렇지 않으면 오류가 발생합니다.decode
님이 유효하지 않은 Base64 데이터 - 후행 패딩이 잘못되었을 때를 포함하여
the탈출
형식은 높은 비트가 Octal Escape 시퀀스로 설정된 0 바이트 및 바이트를 변환합니다 (\
NNN
), 백 슬래시를 두 배로 늘립니다. 다른 바이트 값은 문자 그대로 표시됩니다. 그만큼decode
Backslash가 두 번째 백 슬래시 또는 3 개의 옥탈 숫자가 뒤 따르는 경우 기능이 발생합니다. 다른 바이트 값을 변경하지 않습니다.
hex
형식은 각 4 비트의 데이터를 하나의 16 진수 숫자로 나타냅니다.0
throughf
, 각 바이트의 고차 숫자를 먼저 씁니다. 그만큼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_agg
inPostgreSQL : 문서 : 18 : 9.21. 와이즈 토토 기능큰 객체 기능은Postgresql: Tài liệu: 18: 33.4. Chức nă배트맨 토토 phía máy chủ.