ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Tipos De Datos Binarios


Enviado por   •  23 de Junio de 2014  •  872 Palabras (4 Páginas)  •  240 Visitas

Página 1 de 4

Tipos de datos binarios

El tipo de dato bytea permite el almacenamiento de cadenas binarias.

Tabla 8-6. Tipos de datos binarios

Nombre

Tamaño de almacenamiento

Descripción

bytea

de 1 a 4 bytes adicionales para la actual cadena binaria

cadena binaria de tamaño variable

Una cadena binaria es una secuencia de octetos (o bytes). Las cadenas binarias se distinguen de las cadenas de caracteres en dos formas: Primero, las cadenas binarias específicamente permiten almacenar octetos de valor cero y algunos "no imprimibles" (usualmente, los octetos fuera del rango de 32 a 126). Las cadenas de caracteres deshabilitan los octetos en cero, y también cualquier octeto y secuencia de valores de octetos que son no válidos de acuerdo con el conjunto de codificación elegido en la base de datos. Segundo, las operaciones en las cadenas binarias procesan los bytes actuales, donde el procesamiento de las cadenas de caracter dependen de la configuración de localización. En resumen, las cadenas binarias son apropiadas para almacenar datos que el programador considere "raw bytes", y para almacenar texto se utilizan las cadenas de caracteres.

Cuando se insertan datos bytea, los octetos de determinados valores deben ser escapados (pero todos los valores de octetos pueden ser escapados) cuando se utilizan como parte literal de una sentencia SQL. En general, para escapatr un octeto, conviértala en su valor octal de tres dígitos precediéndola de 2 barras invertidas ('\'). Aquí se muestran los caracteres que deben ser escapados y da las secuencias alternativas cuando deban ser aplicadas  Table 8-7.

Table 8-7. bytea Octetos literales escapados

Decimal Octet Value

Description

Escaped Input Representation

Example

Output Representation

0

zero octet

E'\\000'

SELECT E'\\000'::bytea;

\000

39

single quote

'''' or E'\\047'

SELECT E'\''::bytea;

'

92

backslash

E'\\\\' or E'\\134'

SELECT E'\\\\'::bytea;

\\

0 to 31 and 127 to 255

"non-printable" octets

E'\\xxx' (octal value)

SELECT E'\\001'::bytea;

\001

El requerimiento para escapar las variaciones de octetos no imprimibles dependen de la configuración de localización. En algunas instanticas puede dejar las sin escapar. Note que el resultado en cada uno de los ejemplos en  Table 8-7 es exactamente un octeto de tamaño, es más común que algunas veces sea más de un caracter.

La razón de el requerimiento de utilizar barras de escape , como se muestra en  Table 8-7, es que la cadena entrante pasa por dos fases de parseo en un servidor Postgresql. La primer barra para cada par es interpretado como un escape para el parseador de cadenas literales (asumiendo que la sintaxis de escape de cadenas está siendo utilizado) y una vez pasado, deja el segundo escape en el par (Utilizar $$ -dollar quoted- como dobles cuotas evita este nivel de escape). El escape remanente es reconocido por la función de entrada del tipo bytea como el comienzo de tres dígitos octales o que está escapando otro caracter de escape. Por ejemplo, una cadena literal pasada al sevidor como E'\\001' se convierte en\001 después del

...

Descargar como (para miembros actualizados) txt (6 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com