Tipo Datos Oracle
Tipo Datos Oracle
Tipo Datos Oracle
Ejemplo 2:
SELECT
COUNT(DISTINCT(SUBSTR(ROWID,7,3)))
"Numero ficheros " FROM facturacion
Admite ROWID a tablas que no sean de
UROWID ROWID universal Oracle, tablas externas. Admite tanto ROWID
lógicos como físicos.
NUMBER Almacena números fijos Se admiten hasta 38 dígitos de precisión y son
y en punto flotante portables a cualquier entre los diversos sistemas
en que funcione Oracle.
nombre_columna NUMBER
De los tipos anteriores, los comunmente utilizados son: VARCHAR2 (cadenas de texto
no muy grandes), DATE (fechas, horas), NUMBER (números), BLOB (ficheros de tipo
word, excel, access, video, sonido, imágenes, etc) y CLOB (cadenas de texto muy
grandes).
Un ejemplo de creación de tabla con alguno de estos tipos de datos de Oracle prodía ser:
• CHAR (Caracter): Almacena datos de tipo caracter con una longitud maxima
de 32767 y cuyo valor de longitud por default es 1
-- CHAR [(longitud_maxima)]
nombre CHAR(20);
/* Indica que puede almacenar valores alfanuméricos de 20
posiciones */
Existen por supuesto más tipos de datos, la siguiente tabla los muestra:
Tipo de
dato / Oracle 8i Oracle 9i Descripción
Sintáxis
Donde p es la
precisión y e la
escala.
Por ejemplo:
La precisión máxima es de La precisión máxima es de dec(3,1) es un
dec(p, e)
38 dígitos. 38 dígitos. número que
tiene 2 dígitos
antes del
decimal y un
dígito después
del decimal.
decimal(p, La precisión máxima es de La precisión máxima es de Donde p es la
e) 38 dígitos. 38 dígitos. precisión y e la
escala.
Por ejemplo:
decimal(3,1) es
un número que
tiene 2 dígitos
antes del
decimal y un
dígito después
del decimal.
double
precision
float
int
integer
Donde p es la
precisión y e la
escala.
Por ejemplo:
numeric(p, La precisión máxima es de La precisión máxima es de numeric(7,2) es
e) 38 dígitos. 38 dígitos. un número que
tiene 5 dígitos
antes del
decimal y 2
dígitos después
del decimal.
Donde p es la
precisión y e la
escala.
Por ejemplo:
number(p, La precisión máxima es de La precisión máxima es de number(7,2) es
e) 38 dígitos. 38 dígitos. un número que
tiene 5 dígitos
antes del
decimal y 2
dígitos después
del decimal.
real
smallint
Donde tamaño
es el número de
Hasta 32767 bytes en Hasta 32767 bytes en
caracteres a
PLSQL. PLSQL.
char almacenar. Son
(tamaño) cadenas de
Hasta 2000 bytes en Hasta 2000 bytes en
ancho fijo. Se
Oracle 8i. Oracle 9i.
rellena con
espacios.
varchar2 Hasta 32767 bytes en Hasta 32767 bytes en Donde tamaño
(tamaño) PLSQL. PLSQL. es el número de
caracteres a
almacenar. Son
Hasta 4000 bytes en Hasta 4000 bytes en cadenas de
Oracle 8i. Oracle 9i. ancho variable.
Son cadenas de
long Hasta 2 gigabytes. Hasta 2 gigabytes.
ancho variable.
Hasta 32767 bytes en Hasta 32767 bytes en
PLSQL. PLSQL. Son cadenas
raw binarias de
Hasta 2000 bytes en Hasta 2000 bytes en ancho variable.
Oracle 8i. Oracle 9i.
Son cadenas
long raw Hasta 2 gigabytes. Hasta 2 gigabytes. binarias de
ancho variable.
Una fecha entre el 1 de Una fecha entre el 1 de
Enero de 4712 A.C. y el Enero de 4712 A.C. y el
date
31 de Diciembre de 9999 31 de Diciembre de 9999
D.C. D.C.
Incluye año,
mes día, hora,
timestamp fractional seconds
minutos y
(fractional No soportado por Oracle precision debe ser un
segundos.
seconds 8i. número entre 0 y 9. (El
precision) valor por defecto es 6)
Por ejemplo:
timestamp(6)
Incluye año,
mes día, hora,
minutos y
timestamp
segundos; con
(fractional fractional seconds
un valor de
seconds No soportado por Oracle precision debe ser un
desplazamiento
precision) 8i. número entre 0 y 9. (El
de zona horaria.
with time valor por defecto es 6)
zone
Por ejemplo:
timestamp(5)
with time zone
timestamp No soportado por Oracle fractional seconds Incluye año,
(fractional 8i. precision debe ser un mes día, hora,
seconds número entre 0 y 9. (El minutos y
precision) valor por defecto es 6) segundos; con
with local una zona
time zone horaria
expresada
como la zona
horaria actual.
Por ejemplo:
timestamp(4)
with local time
zone
Período de
tiempo
interval almacenado en
year precision debe ser
year (year No soportado por Oracle años y meses.
un número entre 0 y 9. (El
precision) 8i.
valor por defecto es 2)
to month Por ejemplo:
interval year(4)
to month
day precision debe ser un Incluye año,
interval
número entre 0 y 9. (El mes día, hora,
day (day
valor por defecto es 2) minutos y
precision)
No soportado por Oracle segundos.
to second
8i. fractional seconds
(fractional
precision debe ser un Por ejemplo:
seconds
número entre 0 y 9. (El interval day(2)
precision)
valor por defecto es 6) to second(6)
El formato del campo El formato del campo
rowid es: rowid es:
Datos binarios
de ancho fijo.
BBBBBBB.RRRR.FFFFF BBBBBBB.RRRR.FFFFF
Cada registro
donde BBBBBBB es el donde BBBBBBB es el
rowid de la base de
bloque en el fichero de la bloque en el fichero de la
datos tiene una
base de datos; RRRR es la base de datos; RRRR es la
dirección física
fila del bloque; FFFFF es fila del bloque; FFFFF es
o rowid.
el fichero de la base de el fichero de la base de
datos. datos.
Rowid
urowid universal.
Hasta 2000 bytes. Hasta 2000 bytes.
[tamaño] Donde tamaño
es opcional.
Válido en PLSQL, este Válido en PLSQL, este
boolean tipo de datos no existe en tipo de datos no existe en
Oracle 8i. Oracle 9i.
Donde tamaño
es el número de
Hasta 32767 bytes en Hasta 32767 bytes en
nchar caracteres a
PLSQL. Hasta 2000 bytes PLSQL. Hasta 2000 bytes
(tamaño) almacenar.
en Oracle 8i. en Oracle 9i.
Cadena NLS de
ancho fijo.
nvarchar2 Hasta 32767 bytes en Hasta 32767 bytes en Donde tamaño
(tamaño) PLSQL. Hasta 4000 bytes PLSQL. Hasta 4000 bytes es el número de
en Oracle 8i. en Oracle 9i. caracteres a
almacenar.
Cadena NLS de
ancho variable.
Localizadores
de archivo
apuntan a un
bfile Hasta 4 gigabytes. Hasta 4 gigabytes. objeto binario
de sólo lectura
fuera de la base
de datos.
Localizadores
LOB apuntan a
un gran objeto
blob Hasta 4 gigabytes. Hasta 4 gigabytes.
binario dentro
de la base de
datos.
Localizadores
LOB apuntan a
un gran objeto
clob Hasta 4 gigabytes. Hasta 4 gigabytes.
de caracteres
dentro de la
base de datos.
Localizadores
LOB apuntan a
un gran objeto
nclob Hasta 4 gigabytes. Hasta 4 gigabytes. NLS de
caracteres
dentro de la
base de datos.