그바이테아데이터 유형은 다음을 저장할 수 있습니다. 바이너리 문자열; 참조표 8-6.
바이너리 문자열은 옥텟(또는 바이트)의 시퀀스입니다. 바이너리 문자열은 두 가지 점으로 문자열과 구별됩니다. 특성: 첫째, 토토 꽁 머니 문자열은 특히 저장을 허용합니다. 값 0 및 기타의 옥텟"인쇄할 수 없음"옥텟(외부 옥텟으로 정의됨) 범위는 32~126). 둘째, 토토 꽁 머니 문자열에 대한 연산 실제 바이트를 처리하는 반면, 인코딩 및 처리는 문자열은 로케일 설정에 따라 다릅니다.
입장 시바이테아값, 옥텟 특정 값반드시베 이스케이프됨(그러나 모든 옥텟 값5월이스케이프됨)의 일부로 사용되는 경우 문자열 리터럴의SQL성명. 일반적으로 옥텟을 이스케이프하려면 다음과 같이 변환됩니다. 10진수 옥텟에 해당하는 세 자리 8진수 값 앞에는 두 개의 백슬래시가 옵니다.표 8-7이스케이프해야 하는 문자를 포함하며 다음을 제공합니다. 해당되는 경우 대체 이스케이프 시퀀스입니다.
표 8-7.바이테아리터럴 이스케이프된 옥텟
| 10진수 옥텟 값 | 설명 | 이스케이프된 입력 표현 | 예 | 출력 표현 |
|---|---|---|---|---|
| 0 | 0옥텟 | '\\000' | 선택 '\\000'::bytea; | \000 |
| 39 | 작은따옴표 | '\''또는'\\047' | 선택 '\''::bytea; | ' |
| 92 | 백슬래시 | '\\\\'또는'\\134' | 선택 '\\\\'::bytea; | \\ |
| 0 ~ 31 및 127 ~ 255 | "인쇄할 수 없음"옥텟 | '\\xxx'(8진수 값) | 선택 '\\001'::bytea; | \001 |
탈출 요건"인쇄할 수 없음"옥텟은 실제로 다음에 따라 다릅니다. 로케일 설정에서. 어떤 경우에는 벗어날 수 있습니다. 이스케이프되지 않은 상태로 두십시오. 각 항목의 결과를 참고하세요. 예시표 8-7이었음 출력이 정확히 1옥텟 길이임에도 불구하고 0 옥텟과 백슬래시 표현이 둘 이상입니다. 문자.
백슬래시를 너무 많이 써야 하는 이유는 다음과 같습니다. 에 표시됨표 8-7입니다 문자열 리터럴로 작성된 입력 문자열은 다음을 통과해야 합니다. 두 개의 구문 분석 단계를 통해PostgreSQL서버. 첫 번째 백슬래시 각 쌍은 다음에서 이스케이프 문자로 해석됩니다. 문자열 리터럴 파서가 소비되므로 쌍의 두 번째 백슬래시입니다. 나머지 백슬래시는 다음과 같습니다. 에서 인정함바이테아입력 함수 세 자리 8진수 값을 시작하거나 다른 값을 이스케이프합니다. 백슬래시. 예를 들어, 서버에 다음과 같이 전달된 문자열 리터럴은'\\001'되다\001문자열 리터럴을 통과한 후 파서.\001그런 다음로 전송됩니다.바이테아입력 함수, 변환되는 곳 10진수 값이 1인 단일 옥텟으로 변환됩니다. 아포스트로피 문자는 특별히 처리되지 않습니다.바이테아, 따라서 문자열에 대한 일반적인 규칙을 따릅니다. 리터럴. (또한 참조섹션 4.1.2.1.)
바이테아옥텟도 다음에서 이스케이프됩니다. 출력. 일반적으로 각"인쇄할 수 없음"옥텟은 옥텟으로 변환됩니다. 3자리 8진수 값에 해당하며 앞에 백슬래시가 하나 옵니다. 대부분"인쇄 가능"옥텟은 클라이언트의 표준 표현으로 표현됩니다. 문자 집합. 10진수 값이 92(백슬래시)인 옥텟은 다음을 갖습니다. 특별한 대체 출력 표현. 자세한 내용은 다음을 참조하세요.테이블 8-8.
표 8-8.바이테아출력 이스케이프된 옥텟
| 10진수 옥텟 값 | 설명 | 이스케이프된 출력 표현 | 예 | 출력 결과 |
|---|---|---|---|---|
| 92 | 백슬래시 | \\ | 선택 '\\134'::bytea; | \\ |
| 0~31 및 127~255 | "인쇄할 수 없음"옥텟 | \xxx(8진수 값) | 선택 '\\001'::bytea; | \001 |
| 32~126 | "인쇄 가능"옥텟 | 클라이언트 문자 집합 표현 | 선택 '\\176'::bytea; | ~ |
프런트 엔드에 따라 다름포스트그레SQL당신이 사용하면, 당신은 추가를 가질 수 있습니다 탈출 및 탈출과 관련해 해야 할 일바이테아문자열. 예를 들어 다음을 수행해야 할 수도 있습니다. 인터페이스의 경우 이스케이프 라인 피드 및 캐리지 리턴 자동으로 번역됩니다.
그SQL표준은 다음을 정의합니다. 다른 이진 문자열 유형, 호출됨BLOB또는토토 꽁 머니 대형 객체. 입력 형식은 와는 다르다바이테아, 하지만 제공되는 함수와 연산자는 대부분 동일합니다.