theBYTEA데이터 유형은 저장을 허용합니다 메이저 토토 사이트 문자열; 보다표 8-6.
메이저 토토 사이트 문자열은 일련의 옥트 (또는 바이트)입니다. 메이저 토토 사이트 문자열은 캐릭터 문자열과 두 가지로 구별됩니다 특성 : 먼저, 메이저 토토 사이트 문자열은 특히 저장을 허용합니다 가치 제로 및 기타의 낙지"인쇄 할 수없는"Octets (보통 외부 옥제 범위 32 ~ 126). 캐릭터 문자열은 제로 옥제를 허용하지 않습니다 또한 다른 옥넷 값과 옥셋 시퀀스를 허용하지 않습니다. 데이터베이스의 선택에 따라 유효하지 않은 값 캐릭터 세트 인코딩. 둘째, 메이저 토토 사이트 문자열에서의 작동 문자의 처리는 실제 바이트를 처리합니다 문자열은 로케일 설정에 따라 다릅니다. 요컨대, 메이저 토토 사이트 스트링은입니다 프로그래머가 생각하는 데이터 저장에 적합"원시 바이트"반면 문자열 텍스트 저장에 적합합니다.
입력 할 때BYTEA값, 옥넷 특정 값필수be 탈출 (그러나 모든 옥트 값can탈출) 부분으로 사용될 때 의 문자열 문자SQL진술. 일반적으로 옥타를 피하기 위해 변환됩니다. 3 자리 옥탈 번호는 소수점 옥셋에 해당합니다 값, 그리고 두 개의 백 슬래시가 앞서 있습니다.표 8-7쇼 탈출 해야하는 캐릭터와 대안을 제공합니다. 해당되는 경우 탈출 시퀀스.
표 8-7.BYTEA리터럴 탈출 한 옥제
십진 옥넷 값 | 설명 | 탈출 된 입력 표현 | example | 출력 표현 |
---|---|---|---|---|
0 | Zero Octet | e '\\ 000' | e '\\ 000':: bytea; 선택 | \ 000 |
39 | 단일 견적 | '' ''또는e '\\ 047' | 선택 E '\' ':: Bytea; | ' |
92 | backslash | E '\\\\'또는E '\\ 134' | 선택 E '\\\\':: Bytea; | \\ |
0 ~ 31 및 127 ~ 255 | "인쇄 할 수없는"Octets | e '\\xxx '(Octal Value) | 선택 E '\\ 001':: Bytea; | \ 001 |
탈출 요구 사항"인쇄 할 수없는"Octets는 실제로에 따라 다릅니다 로케일 설정에서. 어떤 경우에는 도망 갈 수 있습니다 그들을 에스코지하지 않은 채로 두십시오. 각각의 결과에 유의하십시오 의 예표 8-7출력에도 불구하고 길이가 정확히 1 옥트입니다 Zero Octet과 Backslash의 표현은 하나 이상입니다. 성격.
당신이 너무 많은 백 슬래시를 작성 해야하는 이유, 표시표 8-7, IS 문자열로 작성된 입력 문자열은 통과해야합니다. 두 개의 구문 분석 단계를 통해PostgreSQL서버. 첫 번째 백 슬래시 각 쌍은 String-Literal Parser (Escape String 구문이 사용되었다고 가정) 및 따라서 소비되어 두 번째 쌍의 백 슬래시가 남습니다. (이 수준 의이 수준을 피하기 위해 달러에 따른 줄은 사용될 수 있습니다. 탈출.) 나머지 백 슬래시는에 의해 인식됩니다.BYTEA시작과 같은 입력 함수 a 3 자리 숫자 옥탈 값 또는 다른 백 슬래시를 빠져냅니다. 을 위한 예를 들어, 문자열 문자가 서버로 전달 된 문자열 문자e '\\ 001'\ 001탈출 문자열 파서를 통과 한 후. 그만큼\ 001|BYTEA입력 함수, 여기서 a로 변환됩니다 소수 값이 1 인 단일 옥셋. 단일 쿼트 캐릭터는 특별히 취급되지 않습니다BYTEA이므로 문자열에 대한 일반 규칙을 따릅니다 리터럴. (참조섹션 4.1.2.1.)
BYTEAOctets도에서 탈출됩니다 산출. 일반적으로 각각"인쇄 할 수없는"Octet은 그것으로 변환됩니다 동등한 3 자리 옥탈 값과 하나의 백 슬래시가 앞서 있습니다. 최대"인쇄용"Octets는입니다 고객의 표준 표현으로 표시됩니다 캐릭터 세트. 10 진수 값 92 (Backslash)를 가진 낙지에는 a가 있습니다 특별한 대체 출력 표현. 세부 사항은테이블 8-8.
표 8-8.BYTEA출력 탈출 한 옥제
십진 옥넷 값 | 설명 | 탈출 된 출력 표현 | example | 출력 결과 |
---|---|---|---|---|
92 | backslash | \\ | 선택 E '\\ 134':: Bytea; | \\ |
0 ~ 31 및 127 ~ 255 | "인쇄 할 수없는"Octets | \xxx(Octal value) | 선택 E '\\ 001':: Bytea; | \ 001 |
32 ~ 126 | "인쇄용"Octets | 클라이언트 문자 세트 표현 | 선택 E '\\ 176':: Bytea; | ~ |
프론트 엔드에 따라PostgreSQL당신은 사용하고 있습니다 탈출 및 탈출 측면에서해야 할 추가 작업BYTEA줄. 예를 들어, 당신도 할 수도 있습니다 인터페이스가 있으면 라인 피드와 캐리지 리턴을 탈출해야합니다. 이것들을 자동으로 번역합니다.
theSQL표준 정의 a 다른 바이너리 스트링 유형,Blob또는메이저 토토 사이트 큰 개체. 입력 형식은입니다 와 다릅니다BYTEA그러나 제공 기능과 운영자는 대부분 동일합니다.