theBYTEA데이터 유형은 저장을 허용합니다 이진 롤 토토; 보다표 5-6.
이진 롤 토토은 일련의 옥트 (또는 바이트)입니다. 이진 롤 토토은 문자 롤 토토과 두 가지로 구별됩니다 특성 : 먼저, 이진 롤 토토은 특히 저장을 허용합니다 제로 값 및 기타의 낙상"인쇄 할 수없는"Octets (외부의 옥트로 정의됩니다 범위 32 ~ 126). 둘째, 이진 롤 토토에서의 작동 인코딩 및 처리는 실제 바이트를 처리합니다. 캐릭터 롤 토토은 로케일 설정에 따라 다릅니다.
입력시BYTEA값, 낙지 특정 값필수be 탈출 (그러나 모든 옥트 값May탈출) 부분으로 사용될 때 의 롤 토토 문자SQL진술. 일반적으로 옥타를 피하기 위해 변환됩니다. 3 자리 옥탈 번호는 소수점 옥셋에 해당합니다 값, 그리고 두 개의 백 슬래시가있었습니다. 일부 옥틴 값은 있습니다 대체 탈출 시퀀스,표 5-7.
표 5-7.BYTEA리터럴 탈출 한 옥제
십진 옥넷 값 | 설명 | 입력 탈출 된 표현 | example | 인쇄 결과 |
---|---|---|---|---|
0 | Zero Octet | '\\ 000' | 선택 '\\ 000':: bytea; | \ 000 |
39 | 단일 견적 | '\' '또는'\\ 047' | 선택 '\' ':: bytea; | ' |
92 | backslash | '\\\\'또는'\\ 134' | 선택 '\\\\':: Bytea; | \\ |
0 ~ 31 및 127 ~ 255 | "인쇄 할 수없는"Octets | '\\xxx '(Octal Value) | 선택 '\\ 001':: bytea; | \ 001 |
탈출 요구 사항"인쇄 할 수없는"Octets는 실제로에 따라 다릅니다 로케일 설정에서. 어떤 경우에는 도망 갈 수 있습니다 그들을 에스코지하지 않은 채로 두십시오. 각각의 결과에 유의하십시오 의 예표 5-7출력에도 불구하고 길이가 정확히 1 옥트입니다 Zero Octet과 Backslash의 표현은 하나 이상입니다. 성격.BYTEA출력 옥넷도 있습니다 탈출. 일반적으로 각각"인쇄 할 수없는"Octet Decimal 값이 변환됩니다 동등한 3 자리 10 옥탈 값으로, 1 위 백 슬래시. 최대"인쇄용"Octets는입니다 고객의 표준 표현으로 표시됩니다 캐릭터 세트. 10 진수 값 92 (Backslash)를 가진 낙지에는 a가 있습니다 특수 대체 출력 표현. 세부 사항은표 5-8.
표 5-8.BYTEA출력 탈출 한 옥제
십진 옥넷 값 | 설명 | 출력 탈출 된 표현 | example | 인쇄 결과 |
---|---|---|---|---|
92 | backslash | \\ | 선택 '\\ 134':: bytea; | \\ |
0 ~ 31 및 127 ~ 255 | "인쇄 할 수없는"Octets | \ ### (Octal value) | 선택 '\\ 001':: Bytea; | \ 001 |
32 ~ 126 | "인쇄용"Octets | 클라이언트 문자 세트 표현 | 선택 '\\ 176':: bytea; | ~ |
사용하려면BYTEA탈출 된 옥넷 표기법, 롤 토토 리터럴 (입력 롤 토토)에는 두 개의 백 슬래시가 포함되어야합니다 그들은 두 개의 구문 분석을 통과해야하기 때문에PostgreSQL서버. 첫 번째 백 슬래시는입니다 String-Literal Parser의 탈출 문자로 해석, 따라서 소비되어 다음 캐릭터가 남습니다. 나머지 백 슬래시는에 의해 인식됩니다.BYTEA3 자리의 접두사로서 입력 함수 10 대 값. 예를 들어, 롤 토토 문자가 백엔드로 전달되었습니다 처럼'\\ 001''\ 001'String-Literal을 통과 한 후 파서. 그만큼'\ 001'그런 다음으로 전송됩니다.BYTEA입력 함수는 변환됩니다 소수점 값이 1 인 단일 옥틴으로
비슷한 이유로, 백 슬래시를 입력해야합니다'\\\\'(또는'\\ 134'). 그만큼 첫 번째 및 세 번째 백 슬래시는 탈출 문자로 해석됩니다 롤 토토-문자 구문자에 의해 소비되어 떠납니다 롤 토토의 2 개의 백 슬래시가에 전달됩니다.BYTEA입력 함수는 다음과 같이 해석합니다 단일 백 슬래시를 나타냅니다. 예를 들어, 문자열 문자 서버로 전달'\\\\''\\'롤 토토-문자 파서. 그만큼'\\'그런 다음입니다 로 보냈습니다.BYTEA입력 함수, 위치 소수점 값이 92 인 단일 옥셋으로 변환됩니다.
단일 견적은로 입력해야한다는 점에서 약간 다릅니다'\' '(또는'\\ 047'),notas'\\' '. 문자 그대로의 구식이기 때문입니다 단일 인용문을 특별한 캐릭터로 해석하고 단일 백 슬래시를 소비합니다.BYTEA입력 함수가not단일 인용문을 특수 옥틴으로 인식하십시오. 따라서 롤 토토 리터럴은 백엔드로 전달 됨'\' ''' '롤 토토-문자 파서. 그만큼'' '그런 다음입니다 로 보냈습니다.BYTEA입력 함수, 위치 단일 옥넷 소수점 값은 39입니다.
프론트 엔드에 따라PostgreSQL당신은 추가가있을 수 있습니다 탈출과 탈출 측면에서해야 할 일BYTEA문자열. 예를 들어, 당신도해야 할 수도 있습니다 인터페이스 인 경우 이스케이프 라인 피드 및 캐리지가 반환됩니다 자동으로 변환합니다. 또는 두 배로 켜야 할 수도 있습니다 언어 또는 선택에 대한 파서가 취급하는 경우 백 슬래시 탈출 캐릭터로서.
theSQL표준 정의 a 다른 바이너리 스트링 유형,Blob또는이진 큰 물체. 입력 형식은입니다 에 비해 다른BYTEA, 그러나 제공 기능과 운영자는 대부분 동일합니다.