19
Tipos de datos de MySQL Server Grupo Tipo de dato Intervalo Almacenamiento Numéricos TINYINT De -128 a 127 (signed) De 0 a 255 (unsigned) 1 byte SMALLINT De -32768 a 32767 (signed) De 0 a 65535 (unsigned) 2 bytes MEDIUMINT De -8388608 a 8388607 (signed) De 0 a 16777215 (unsigned) 3 bytes INT INTEGER De -2147483648 a 2147483647 (signed) De 0 a 4294967295 (unsigned) 4 bytes BIGINT De -9223372036854775808 a 9223372036854775807 (signed) De 0 a 18446744073709551615 (unsigned) 8 bytes BIT Equivalente a TINYINT(1) 1 byte BOOL BOOLEAN Equivalente a TINYINT(1) Valor 0 = False Valor 1 = True 1 byte FLOAT [(M,D)] De -3.402823466E+38 a -1.175494351E-38, 0, y desde 1.175494351E-38 a 3.402823466E+38 M es el número total de dígitos y D es el número de dígitos después del punto decimal. Si se omite M y D, los valores se almacenan en los límites permitidos por el hardware (unas 7 posiciones decimales) 4 bytes FLOAT (p) p representa la precisión en bits, MySQL usa este valor sólo para determinar si se debe usar FLOAT o DOUBLE para el tipo de datos resultante. Si p está entre 0 a 24, el tipo de datos se convierte en FLOAT (sin M ó D). Si p está entre 25 a 53, el tipo de datos se convierte a DOUBLE (sin M ó D). 4 bytes si 0 <= p <= 24, 8 bytes si 25 <= p <= 53

Tabla Tipos de Variables SQL

Embed Size (px)

DESCRIPTION

tabla con los tipos de variables para sgbd como mysql, oracle, postgresql

Citation preview

Page 1: Tabla Tipos de Variables SQL

Tipos de datos de MySQL Server

Grupo Tipo de dato Intervalo Almacenamiento

Numéricos

TINYINT De -128 a 127 (signed)

De 0 a 255 (unsigned) 1 byte

SMALLINT De -32768 a 32767 (signed)

De 0 a 65535 (unsigned) 2 bytes

MEDIUMINT De -8388608 a 8388607 (signed)

De 0 a 16777215 (unsigned) 3 bytes

INT

INTEGER

De -2147483648 a 2147483647 (signed)

De 0 a 4294967295 (unsigned) 4 bytes

BIGINT De -9223372036854775808 a 9223372036854775807 (signed)

De 0 a 18446744073709551615 (unsigned) 8 bytes

BIT Equivalente a TINYINT(1) 1 byte

BOOL

BOOLEAN

Equivalente a TINYINT(1)

Valor 0 = False

Valor 1 = True

1 byte

FLOAT [(M,D)]

De -3.402823466E+38 a -1.175494351E-38, 0, y desde 1.175494351E-38 a

3.402823466E+38

M es el número total de dígitos y D es el número de dígitos después del

punto decimal. Si se omite M y D, los valores se almacenan en los límites

permitidos por el hardware (unas 7 posiciones decimales)

4 bytes

FLOAT (p)

p representa la precisión en bits, MySQL usa este valor sólo para

determinar si se debe usar FLOAT o DOUBLE para el tipo de datos

resultante.

Si p está entre 0 a 24, el tipo de datos se convierte en FLOAT (sin M ó D). Si

p está entre 25 a 53, el tipo de datos se convierte a DOUBLE (sin M ó D).

4 bytes si 0 <= p <= 24, 8

bytes si 25 <= p <= 53

Page 2: Tabla Tipos de Variables SQL

DOUBLE [(M,D)]

De -1.7976931348623157E+308 a -2.2250738585072014E-308, 0, y desde

2.2250738585072014E-308 a 1.7976931348623157E+308

M es el número total de dígitos y D es el número de dígitos después del

punto decimal. Si se omite M y D, los valores se almacenan en los límites

permitidos por el hardware (unas 15 posiciones decimales)

8 bytes

REAL[(M,D)]

DOUBLE PRECISION

Equivalente a DOUBLE, con la excepción de que si está activado el modo

REAL_AS_FLOAT, REAL es un sinónimo de FLOAT en lugar de DOUBLE 4 Bytes ó 8 bytes

DECIMAL [(M[,D])]

DEC [(M[,D])]

NUMERIC [(M[,D])]

FIXED[(M[,D])]

Número en coma flotante sin empaquetar. Se comporta como una

columna CHAR. El número se almacena como una cadena, usando un

carácter para cada dígito del valor.

El rango máximo es el mismo que para el tipo DOUBLE

M+2 bytes sí D > 0

M+1 bytes sí D = 0

D+2, si M < D

Fecha y hora

DATE Fecha, con rango desde '1000-01-01' a '9999-12-31' con formato 'YYYY-

MM-DD' 3 bytes

DATETIME Fecha y hora, con rango desde '1000-01-01 00:00:00' a '9999-12-31

23:59:59' con formato 'YYYY-MM-DD HH:MM:SS' 8 bytes

TIMESTAMP[(M)]

Fecha y hora, el rango va desde '1970-01-01 00:00:01' UTC a '2038-01-19

03:14:07' UTC. El formato de almacenamiento depende del tamaño del

campo

4 bytes

TIME Hora, con rango desde '-838:59:59' a '838:59:59', con el formato

'HH:MM:SS' 3 bytes

YEAR[(2|4)] Año en dos o cuatro dígitos, para cuatro dígitos, el rango es de 1901 a

2155, para dos dígitos es de 70 a 69 (representando desde 1070 a 2069) 1 byte

Cadenas de

caracteres

CHAR (M) Almacena una cadena de longitud fija. La cadena podrá contener desde 0 a

255 caracteres

M bytes (tanto si se

ocupan como si no)

VARCHAR (M) Almacena una cadena de longitud variable. La cadena podrá contener

desde 0 a 255 caracteres

Tamaño contenido del

campo más 1 byte

Page 3: Tabla Tipos de Variables SQL

BINARY (M)

Similar a CHAR, excepto que contiene cadenas de caracteres binarias en

lugar de cadenas no binarias. Es decir, que contienen cadenas de bytes en

lugar de cadenas de caracteres. Esto significa que no tienen conjunto de

caracteres, y la comparación y ordenación se basa en los valores numéricos

de los bytes en los valores

M bytes, 0 <= M <= 255

VARBINARY (M)

Similar a VARCHAR, excepto que contiene cadenas de caracteres binarias

en lugar de cadenas no binarias. Es decir, que contienen cadenas de bytes

en lugar de cadenas de caracteres. Esto significa que no tienen conjunto de

caracteres, y la comparación y ordenación se basa en los valores numéricos

de los bytes en los valores

Tamaño contenido del

campo más 1 byte

TEXT Tipo de datos no binario que puede contener una cantidad variable de

datos. Sirve para almacenar texto (gran cantidad). Hasta 65535 caracteres

Longitud + 2 bytes,

mientras L < 216

TINYTEX Tipo de datos no binario que puede contener una cantidad variable de

datos. Sirve para almacenar texto (gran cantidad). Hasta 255 caracteres

Longitud + 1 bytes,

mientras L < 28

MEDIUMTEXT

Tipo de datos no binario que puede contener una cantidad variable de

datos. Sirve para almacenar texto (gran cantidad). Hasta 16.777.215

caracteres

Longitud + 3 bytes,

mientras L < 224

LONGTEXT

Tipo de datos no binario que puede contener una cantidad variable de

datos. Sirve para almacenar texto (gran cantidad). Hasta 4.294.967.295

caracteres

Longitud + 4 bytes,

mientras L < 232

BLOB Tipo de datos binario que puede contener una cantidad variable de datos.

Permite almacenar ficheros (de cualquier tipo). Hasta 65535 bytes

Longitud + 2 bytes,

mientras L < 216

TINYBLOB Tipo de datos binario que puede contener una cantidad variable de datos.

Permite almacenar ficheros (de cualquier tipo). Hasta 255 bytes

Longitud + 1 bytes,

mientras L < 28

MEDIUMBLOB Tipo de datos binario que puede contener una cantidad variable de datos.

Permite almacenar ficheros (de cualquier tipo). Hasta 16.777.215 bytes

Longitud + 3 bytes,

mientras L < 224

LONGBLOB Tipo de datos binario que puede contener una cantidad variable de datos.

Permite almacenar ficheros (de cualquier tipo). Hasta 4.294.967.295 bytes

Longitud + 4 bytes,

mientras L < 232

Page 4: Tabla Tipos de Variables SQL

ENUM (valor1, valor2,

...)

Es un tipo de datos de cadena con un valor elegido de una lista de valores

permitidos que se enumeran explícitamente en la especificación de la

columna al crear la tabla. Acepta hasta 65535 valores distintos

1 ó 2 bytes, dependiendo

del número de valores de

ENUM

SET (valor1, valor2, ...)

Es un tipo de datos de cadena que puede contener ninguno, uno ó varios

valores de una lista previamente establecida (al crear la tabla). La lista

puede tener un máximo de 64 valores

1, 2, 3, 4, ó 8 bytes,

dependiendo del número

de miembros del

conjunto

Tipos de datos

espaciales

(Open Gis) (*)

GEOMETRY

Geometry es la clase base de la jerarquía para el modelo geométrico

OpenGIS. Es una clase no instanciable, pero tiene unas cuantas

propiedades que son comunes para todos los valores geométricos creados

con cualquiera de las subclases de Geometry

POINT

Un POINT es una geometría que representa una ubicación única en un

espacio de coordenadas (valor de la coordenada X, valor de la coordenada

Y)

LINESTRING

Un LINESTRING es una Curva con interpolación linear entre puntos. Un

LINESTRING tiene coordenadas de segmentos, definidos por cada par

consecutivo de puntos

POLYGON

Un POLYGON es una superficie planar que representa una geometría

multicara. Se define por un único límite exterior y cero o más límites

interiores, donde cada límite interior define un agujero en el polígono

MULTIPOINT Un MULTIPOINT es una colección de geometrías compuesta de elementos

Point. Los puntos no están conectados ni ordenados de ningún modo

MULTILINESTRING Una MULTILINESTRING es una colección de geometrías MultiCurve

compuesta de elementos LINESTRING

MULTIPOLYGON Un MULTIPOLYGON es un objeto MultiSurface compuesto de elementos

POLYGON

Page 5: Tabla Tipos de Variables SQL

GEOMETRYCOLLECTION

Todos los elementos en una GEOMETRYCOLLECTION deben estar en el

mismo Sistema de Referencia Espacial (es decir, en el mismo sistema de

coordenadas)

CURVE

Una clase CURVE es una geometría unidimensional, normalmente

representada por una secuencia de puntos. Las subclases particulares de

CURVE definen el tipo de interpolación entre puntos. CURVE es una clase

no instanciable

MULTICURVE Una clase MULTICURVE es una colección de geometrías que se compone

de elementos CURVE. MULTICURVE es una clase no instanciable

SURFACE Una clase SURFACE es una geometría bidimensional. Es una clase no

instanciable. Su única subclase instanciable es POLYGON

Page 6: Tabla Tipos de Variables SQL

Tipos de datos en ORACLE

TIPO CARACTERISTICAS OBSERVACIONES

CHAR

Cadena de caracteres

(alfanuméricos) de

longitud fija

Entre 1 y 2000 bytes como máximo. Aunque se

introduzca un valor más corto que el indicado en

el tamaño, se rellenará al tamaño indicado. Es de

longitud fija, siempre ocupará lo mismo,

independientemente del valor que contenga

VARCHAR2 Cadena de caracteres de

longitud variable

Entre 1 y 4000 bytes como máximo. El tamaño del

campo dependerá del valor que contenga, es de

longitud variable.

VARCHAR Cadena de caracteres de

longitud variable En desuso, se utiliza VARCHAR2 en su lugar

NCHAR

Cadena de caracteres de

longitud fija que sólo

almacena caracteres

Unicode

Entre 1 y 2000 bytes como máximo. El juego de

caracteres del tipo de datos (datatype) NCHAR

sólo puede ser AL16UTF16 ó UTF8. El juego de

caracteres se especifica cuando se crea la base de

datos Oracle

NVARCHAR2

Cadena de caracteres de

longitud variable que sólo

almacena caracteres

Unicode

Entre 1 y 4000 bytes como máximo. El juego de

caracteres del tipo de datos (datatype) NCHAR

sólo puede ser AL16UTF16 ó UTF8. El juego de

caracteres se especifica cuando se crea la base de

datos Oracle

LONG Cadena de caracteres de

longitud variable

Como máximo admite hasta 2 GB (2000 MB). Los

datos LONG deberán ser convertidos

apropiadamente al moverse entre diversos

sistemas.

Este tipo de datos está obsoleto (en desuso), en

su lugar se utilizan los datos de tipo LOB (CLOB,

NCLOB). Oracle recomienda que se convierta el

Page 7: Tabla Tipos de Variables SQL

tipo de datos LONG a alguno LOB si aún se está

utilizando.

No se puede utilizar en claúsulas WHERE, GROUP

BY, ORDER BY, CONNECT BY ni DISTINCT

Una tabla sólo puede contener una columna de

tipo LONG.

Sólo soporta acceso secuencial.

LONG RAW Almacenan cadenas

binarias de ancho variable

Hasta 2 GB.

En desuso, se sustituye por los tipos LOB.

RAW Almacenan cadenas

binarias de ancho variable

Hasta 32767 bytes.

En desuso, se sustituye por los tipos LOB.

LOB (BLOG,

CLOB,

NCLOB,

BFILE)

Permiten almacenar y

manipular bloques

grandes de datos no

estructurados (tales como

texto, imágenes, videos,

sonidos, etc) en formato

binario o del carácter

Admiten hasta 8 terabytes (8000 GB).

Una tabla puede contener varias columnas de tipo

LOB.

Soportan acceso aleatorio.

Las tablas con columnas de tipo LOB no pueden

ser replicadas.

BLOB Permite almacenar datos

binarios no estructurados Admiten hasta 8 terabytes

CLOB Almacena datos de tipo

carácter Admiten hasta 8 terabytes

NCLOB Almacena datos de tipo

carácter

Admiten hasta 8 terabytes.

Guarda los datos según el juego de caracteres

Unicode nacional.

Page 8: Tabla Tipos de Variables SQL

BFILE

Almacena datos binarios

no estructurados en

archivos del sistema

operativo, fuera de la

base de datos. Una

columna BFILE almacena

un localizador del archivo

a uno externo que

contiene los datos

Admiten hasta 8 terabytes.

El administrador de la base de datos debe

asegurarse de que exista el archivo en disco y de

que los procesos de Oracle tengan permisos de

lectura para el archivo .

ROWID

Almacenar la dirección

única de cada fila de la

tabla de la base de datos

ROWID físico almacena la dirección de fila en las

tablas, las tablas en clúster, los índices, excepto en

las índices-organizados (IOT).

ROWID lógico almacena la dirección de fila en

tablas de índice-organizado (IOT).

Un ejemplo del valor de un campo ROWID podría

ser: "AAAIugAAJAAC4AhAAI". El formato es el

siguiente:

Para "OOOOOOFFFBBBBBBRRR", donde:

OOOOOO: segmento de la base de datos (AAAIug

en el ejemplo). Todos los objetos que estén en el

mismo esquema y en el mismo segmento tendrán

el mismo valor.

FFF: el número de fichero del tablespace relativo

que contiene la fila (fichero AAJ en el ejemplo).

BBBBBB: el bloque de datos que contiene a la fila

(bloque AAC4Ah en el ejemplo). El número de

bloque es relativo a su fichero de datos, no al

tablespace. Por lo tanto, dos filas con números de

bloque iguales podrían residir en diferentes

datafiles del mismo tablespace.

Page 9: Tabla Tipos de Variables SQL

RRR: el número de fila en el bloque (fila AAI en el

ejemplo).

Este tipo de campo no aparece en los SELECT ni se

puede modificar en los UPDATE, ni en los INSERT.

Tampoco se puede utilizar en los CREATE. Es un

tipo de datos utilizado exclusivamente por Oracle.

Sólo se puede ver su valor utilizando la palabra

reservada ROWID, por ejemplo:

select rowid, nombre, apellidos from clientes

Ejemplo 2:

SELECT ROWID, SUBSTR(ROWID,15,4) "Fichero",

SUBSTR(ROWID,1,8) "Bloque",

SUBSTR(ROWID,10,4) "Fila" FROM proveedores

Ejemplo 3: una forma de saber en cuántos

ficheros de datos está alojada una tabla:

SELECT COUNT(DISTINCT(SUBSTR(ROWID,7,3)))

"Numero ficheros " FROM facturacion

UROWID ROWID universal

Admite ROWID a tablas que no sean de Oracle,

tablas externas. Admite tanto ROWID lógicos

como físicos.

NUMBER Almacena números fijos y

en punto flotante

Se admiten hasta 38 dígitos de precisión y son

portables a cualquier entre los diversos sistemas

en que funcione Oracle.

Para declarar un tipo de datos NUMBER en un

CREATE ó UPDATE es suficiente con:

nombre_columna NUMBER

opcionalmente se le puede indicar la precisión

(número total de dígitos) y la escala (número de

Page 10: Tabla Tipos de Variables SQL

dígitos a la derecha de la coma, decimales, los

cogerá de la precisión indicada):

nombre_columna NUMBER (precision, escala)

Si no se indica la precisión se tomará en función

del número a guardar, si no se indica la escala se

tomará escala cero.

Para no indicar la precisión y sí la escala podemos

utilizar:

nombre_columna NUMBER (*, escala)

Para introducir números que no estén el el

formato estándar de Oracle se puede utilizar la

función TO_NUMBER.

FLOAT

Almacena tipos de datos

numéricos en punto

flotante

Es un tipo NUMBER que sólo almacena números

en punto flotante

DATE Almacena un punto en el

tiempo (fecha y hora)

El tipo de datos DATE almacena el año (incluyendo

el siglo), el mes, el día, las horas, los minutos y los

segundos (después de medianoche).

Oracle utiliza su propio formato interno para

almacenar fechas.

Los tipos de datos DATE se almacenan en campos

de longitud fija de siete octetos cada uno,

correspondiendo al siglo, año, mes, día, hora,

minuto, y al segundo.

Para entrada/salida de fechas, Oracle utiliza por

defecto el formato DD-MMM-AA. Para cambiar

este formato de fecha por defecto se utiliza el

parámetro NLS_DATE_FORMAT.

Para insertar fechas que no estén en el mismo

formato de fecha estándar de Oracle, se puede

Page 11: Tabla Tipos de Variables SQL

utilizar la función TO_DATE con una máscara del

formato: TO_DATE (el “13 de noviembre de

1992”, “DD del MES, YYYY”)

TIMESTAMP

Almacena datos de tipo

hora, fraccionando los

segundos

TIMESTAMP

WITH TIME

ZONE

Almacena datos de tipo

hora incluyendo la zona

horaria (explícita),

fraccionando los segundos

TIMESTAMP

WITH LOCAL

TIME ZONE

Almacena datos de tipo

hora incluyendo la zona

horaria local (relativa),

franccionando los

segundos

Cuando se usa un SELECT para mostrar los datos

de este tipo, el valor de la hora será ajustado a la

zona horaria de la sesión actual

XMLType

Tipo de datos abstracto.

En realidad se trata de un

CLOB.

Se asocia a un esquema XML para la definición de

su estructura.

Page 12: Tabla Tipos de Variables SQL

Tipos de datos de Microsoft SQL Server

Grupo Tipo de dato Intervalo Almacenamiento

Numéricos

exactos

bigint De -263 (-9.223.372.036.854.775.808) a 263 - 1

(9.223.372.036.854.775.807) 8 bytes

int De -231 (-2.147.483.648) a 231 - 1 (2.147.483.647) 4 bytes

smallint De -215 (-32.768) a 215 - 1 (32.767) 2 bytes

tinyint De 0 a 255 1 byte

bit Tipo de datos entero que puede aceptar los valores 1, 0 ó

NULL 2 bytes

decimal, numeric,

decimal (p, s)

p (precisión): el número total máximo de dígitos

decimales que se puede almacenar, tanto a la

izquierda como a la derecha del separador decimal.

La precisión debe ser un valor comprendido entre 1 y

la precisión máxima de 38. La precisión

predeterminada es 18.

s (escala): el número máximo de dígitos decimales

que se puede almacenar a la derecha del separador

decimal. La escala debe ser un valor comprendido

entre 0 y p. Sólo es posible especificar la escala si se

ha especificado la precisión. La escala

predeterminada es 0.

Con precisión máxima 1038 +1 y 1038 - 1

Precisión 1 - 9: 5

bytes

money

Tipos de datos que representan valores monetarios o de

moneda: de -922.337.203.685,4775808 a

922.337.203.685,4775807

8 bytes

smallmoney De - 214,7483648 a 214,7483647 4 bytes

Page 13: Tabla Tipos de Variables SQL

Numéricos

aproximados

float De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308 Depende del

valor de n

real De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38 4 Bytes

Fecha y hora datetime Del 1 de enero de 1753 hasta el 31 de diciembre de 9999

smalldatetime Del 1 de enero de 1900 hasta el 6 de junio de 2079

Cadenas de

caracteres

char (n) Caracteres no Unicode de longitud fija, con una longitud de n

bytes. n debe ser un valor entre 1 y 8.000 n bytes

varchar (n) Caracteres no Unicode de longitud variable. n indica que el

tamaño de almacenamiento máximo es de 231 - 1 bytes n bytes (aprox.)

text

En desuso, sustituido por varchar.

Datos no Unicode de longitud variable con una longitud

máxima de 231 - 1 (2.147.483.647) caracteres

max bytes

(aprox.)

Cadenas de

caracteres

unicode

nchar (n) Datos de carácter Unicode de longitud fija, con n caracteres. n

debe estar comprendido entre 1 y 4.000 2 * n bytes

nvarchar (n) Datos de carácter Unicode de longitud variable. n indica que

el tamaño máximo de almacenamiento es 231 - 1 bytes

2 * n bytes + 2

bytes

ntext (n)

En desuso, sustituido por nvarchar.

Datos Unicode de longitud variable con una longitud máxima

de 230 - 1 (1.073.741.823) caracteres

2 * n bytes

Cadenas

binarias

binary (n) Datos binarios de longitud fija con una longitud de n bytes,

donde n es un valor que oscila entre 1 y 8.000 n bytes

varbinary (n) Datos binarios de longitud variable. n indica que el tamaño de

almacenamiento máximo es de 231 - 1 bytes n bytes

image En desuso, sustituido por varbinary.

Page 14: Tabla Tipos de Variables SQL

Datos binarios de longitud variable desde 0 hasta 231 - 1

(2.147.483.647) bytes

Otros tipos de

datos

cursor

Tipo de datos para las variables o para los parámetros de

resultado de los procedimientos almacenados que contiene

una referencia a un cursor. Las variables creadas con el tipo

de datos cursor aceptan NULL

timestamp

Tipo de datos que expone números binarios únicos generados

automáticamente en una base de datos. El tipo de datos

timestamp es simplemente un número que se incrementa y

no conserva una fecha o una hora

8 bytes

sql_variant

Tipo de datos que almacena valores de varios tipos de datos

aceptados en SQL Server, excepto text, ntext, image,

timestamp y sql_variant

uniqueidentifier Es un GUID (Globally Unique Identifier, Identificador Único

Global) 16 bytes

table

Es un tipo de datos especial que se puede utilizar para

almacenar un conjunto de resultados para su procesamiento

posterior. table se utiliza principalmente para el

almacenamiento temporal de un conjunto de filas devuelto

como el conjunto de resultados de una función con valores de

tabla

xml Almacena datos de XML. Puede almacenar instancias de xml

en una columna o una variable de tipo xml

Page 15: Tabla Tipos de Variables SQL

Tipos de datos de propósito general en PostgreSQL

A continuación mostramos un listado de los tipos de datos (data types) del motor de base de datos gratuito PostgreSQL. Mostramos los tipos de datos de

carácter o propósito general, los más habituales:

Tipo de datos Alias Descripción

bigint int8 Entero con signo de 8 bytes

bigserial serial8 Autoincremento entero de 8 bytes

bit Cadena de bit de longitud fija

bit varying(n) varbit(n) Cadena de bit de longitud variable

boolean bool Lógico (true/false)

box Rectángulo en el plano

bytea Datos binarios

character varying(n) varchar(n) Cadena de caracteres de longitud variable

character(n) char(n) Cadena de caracteres de longitud fija

cidr Dirección IP de red (IPv4 ó IPv6)

circle Círculo en el plano

date Fecha (año, mes, día)

double precision float8 Número de punto flotante de precisión doble

inet Dirección de un host de red (IPv4 or IPv6)

integer int, int4 Enterio con signo, 4 bytes

interval(p) Intervalo de tiempo

Page 16: Tabla Tipos de Variables SQL

Tipo de datos Alias Descripción

line Línea infinita en el plano (no se aplica completamente)

lseg Segmento de línea en el plano

macaddr Dirección MAC de tarjeta o dispositivo de red

money Moneda

numeric [ (p, s) ] decimal [ (p, s) ] Numérico exacto con precisión modificable

path Trazado geométrico abierto y cerrado en el plano

point Punto geométrico en el plano

polygon Polígono cerrado geométrico en el plano

real float4 Número de punto flotante de precisión simple

smallint int2 Entero con signo de 2 bytes

serial serial4 Autoincremento, entero de 4 bytes

text Cadena de caracteres de longitud variable

time [ (p) ] [sin zona horaria] Hoa del día

time [ (p) ] con zona horaria timetz Hora del día, incluyendo la zona horaria

timestamp [ (p) ] [sin zona horaria] timestamp Fecha y hora

timestamp [ (p) ] con zona horaria timestamptz Fecha y hora incluyendo la zona horaria

Tipos numéricos en PostgreSQL

A continuación mostramos los tipos de datos numéricos de PostgreSQL:

Page 17: Tabla Tipos de Variables SQL

Nombre Tamaño Descripción Rango

smallint 2 bytes Entero de rango pequeño De -32768 a +32767

integer 4 bytes Selección habitual para tipos enteros De -2147483648 a +2147483647

bigint 8 bytes Entero de rango largo De -9223372036854775808 a 9223372036854775807

decimal variable Precisión especificada por el usuario, exacto Sin límite

numeric variable Precisión especificada por el usuario, exacto Sin límite

real 4 bytes Variable/precisión, inexacto 6 dígitos decimales de precisión

double precision 8 bytes Variable/precisión, inexacto 15 dígitos decimales de precisión

serial 4 bytes Autoincremento simple De 1 a 2147483647

bigserial 8 bytes Autoincremento largo De 1 a 9223372036854775807

Tipos de datos monetarios (moneda) en PostgreSQL

El tipo de datos de PostgreSQL para valores de moneda es:

Nombre Tamaño Descripción Rango

money 4 bytes Moneda De -21474836.48 a +21474836.47

Tipos de datos carácter en PostgreSQL

Los tipos de datos del motor de base de datos gratuito y open source PostgreSQL de tipo carácter son:

Nombre Descripción

character varying(n), varchar(n) De longitud variable, con límite

Page 18: Tabla Tipos de Variables SQL

Nombre Descripción

character(n), char(n) De longitud fija

text De longitud variable, ilimitado

Tipos de datos binarios en PostgreSQL

El tipo de datos binario de PostgreSQL es:

Nombre Tamaño Descripción

bytea 4 bytes además de la cadena binaria actual Cadena binaria de longitud variable

Tipos de datos Fecha/Hora en PostgreSQL

Los tipos de datos de fecha y hora del motor de base de datos PostgreSQL son:

Nombre Tamaño Descripción Valor bajo Valor alto Resolución

timestamp [ (p) ] [ sin zona horaria ] 8 bytes Fecha y hora 4713 BC 5874897 AD 1 microsegundo / 14 dígitos

timestamp [ (p) ] con zona horaria 8 bytes Fecha y hora con zona horaria 4713 BC 5874897 AD 1 microsegundos / 14 dígitos

interval [ (p) ] 12 bytes Intervalo de hora -178000000 años 178000000 años 1 microsegundo

date 4 bytes Sólo fecha 4713 BC 32767 AD 1 día

time [ (p) ] [ sin zona horaria] 8 bytes Sólo hora del día 00:00:00.00 23:59:59.99 1 microsegundo

time [ (p) ] con zona horaria 12 bytes Horas del día con zona horaria 00:00:00.00+12 23:59:59.99-12 1 microsegundo

Page 19: Tabla Tipos de Variables SQL

Tipos de datos geométricos en PostgreSQL

Los tipos de datos para valores geométricos del motor de base de datos PostgreSQL son:

Nombre Tamaño Representación Descripción

point 16 bytes Punto del plano (x,y)

line 32 bytes Línea infinita en el plano ((x1,y1),(x2,y2))

lseg 32 bytes Segmento de línea en el plano ((x1,y1),(x2,y2))

box 32 bytes Rectángulo en el plano ((x1,y1),(x2,y2))

path 16+16n bytes Trazado geométrico cerrado en el plano ((x1,y1),...)

path 16+16n bytes Trazado geométrico abierto en el plano [(x1,y1),...]

polygon 40+16n bytes Plígono (similar a trazado cerrado) ((x1,y1),...)

circle 24 bytes Círculo <(x,y),r> (centro y radio)

Tipos de datos de direcciones de red en PostgreSQL

Los tipos de datos para direcciones de red y mac de PostgreSQL son:

Nombre Tamaño Descripción

cidr 12 ó 24 bytes Redes IPv4 ó IPv6

inet 12 ó 24 bytes Hosts y redes IPv4 ó IPv6

macaddr 6 bytes Dirección MAC