TECNOLOBO

No recuerdas tu codigo?
Se te olvido como se hace?

Aqui podras guardar lo que necesiten
Y cuando sea necesesario

Creado por julian gomez
iiiiii

ORACLE DATABASE CURSE



Descripcion

TIPOS DE DATOS ORACLE

Scrippt



- varchar2(x): =>varchar2(30)

  Se emplea para almacenar cadenas de caracteres. Se introduce entre comillas simples.
  
  Almacena cadenas de caracteres de longitud variable determinada por el argumento "x" (obligatorio). Que sea una cadena de 

  longitud variable significa que, si definimos un campo como "varchar2(10)" y almacenamos el valor "hola" (4 caracteres),  

 Oracle solamente ocupa las 4 posiciones (4 bytes y no 10 como en el caso de "char"); por lo tanto, si la longitud es   

variable, es conveniente utilizar este tipo de dato y no "char", así ocupamos menos espacio de almacenamiento en disco.     

Su rango es de 1 a 4000 caracteres.
  
  ejemplo: 'Hola'


- number(p,s): 

  Se usa para guardar valores numéricos con decimales, de 1.0 x10-120 a 9.9...(38 posiciones). 

  Definimos campos de este tipo cuando queremos almacenar valores numéricos con los cuales luego realizaremos operaciones   

  matemáticas, por ejemplo, cantidades, precios, etc.

  Puede contener números enteros o decimales, positivos o negativos. El parámetro "p" indica el número total de dígitos 

(contando los decimales) que contendrá el número como máximo (es la precisión). Su rango va de 1 a 38. 

  El parámetro "s" especifica la escala, es decir, el máximo de dígitos decimales. La escala puede ir de -84 a 127. Por   

ejemplo, un campo definido "number(5,2)" puede contener cualquier número entre 0.00 y 999.99 (positivo o negativo).

  Para especificar número enteros, podemos omitir el parámetro "s" o colocar el valor 0 como parámetro "s". Se utiliza como 

  separador el punto (.).

  Si definimos un campo de tipo number(4,2) e intentamos guardar el valor 123.45, aparece un mensaje indicando que el valor 

  es demasiado grande para la columna. 

  Si ingresamos un valor con más decimales que los definidos, el valor se carga pero con la cantidad de decimales     

permitidos, los dígitos sobrantes se omiten.


- float (x): 
  
  almacena un número en punto decimal. El parámetro indica la precisión binaria máxima; con un rango de 1 a 126. Si se   

omite, por defecto es 126.


TIPS

  Para ambos tipos numéricos:

  si ingresamos un valor con más decimales que los permitidos, redondea al más cercano; por ejemplo, si definimos "float

(4,2)" e ingresamos el valor "12.686", guardará "12.69", redondeando hacia arriba; si ingresamos el valor "12.682", 

guardará "12.67", redondeando hacia abajo.

  si intentamos ingresar un valor fuera de rango, no lo acepta.

  si ingresamos una cadena, Oracle intenta convertirla a valor numérico, si dicha cadena consta solamente de dígitos, la 

conversión se realiza, luego verifica si está dentro del rango, si es así, la ingresa, sino, muestra un mensaje de error y 

no ejecuta la sentencia. 
  
  Si la cadena contiene caracteres que Oracle no puede convertir a valor numérico, muestra un mensaje de error y la 

sentencia no se ejecuta.

  Por ejemplo, definimos un campo de tipo "numberl(5,2)", si ingresamos la cadena '12.22', la convierte al valor numérico 

12.22 y la ingresa; si intentamos ingresar la cadena '1234.56', la convierte al valor numérico 1234.56, pero como el máximo 

valor permitido es 999.99, muestra un mensaje indicando que está fuera de rango. Si intentamos ingresar el valor '12y.25', 

Oracle no puede realizar la conversión y muestra un mensaje de error.


TIPS

  Si en un campo almacenaremos números telefónicos o un números de documento, usamos "varchar2", no "number" porque si bien 

  son dígitos, con ellos no realizamos operaciones matemáticas. 

  Si en un campo guardaremos apellidos, y suponemos que ningún apellido superará los 20 caracteres, definimos el campo     

"varchar2(20)". 

  Si en un campo almacenaremos precios con dos decimales que no superarán los 999.99 pesos definimos un campo de tipo     

"number(5,2)", es decir, 5 dígitos en total, con 2 decimales. 

  Si en un campo almacenaremos valores enteros de no más de 3 dígitos, definimos un campo de tipo "number(3,0)".


- char(x): 

  Define una cadena de caracteres de longitud fija determinada por el argumento "x". 
  
  Si se omite el argumento, por defecto coloca 1. "char" viene de character, que significa caracter en inglés. Su rango     

es de 1 a 2000 caracteres.

  Que sea una cadena de longitud fija significa que, si definimos un campo como "char(10)" y almacenamos el valor "hola" (4 

  caracteres), Oracle rellenará las 6 posiciones restantes con espacios, es decir, ocupará las 10 posiciones; por lo tanto, 

  si la longitud es invariable, es conveniente utilizar el tipo char; caso contrario, el tipo varchar2.

  Si almacenamos "hola" en un campo definido "char(10)" Oracle almacenará "hola      ".


- nchar(x): 
  
  es similar a "char" excepto que permite almacenar caracteres ASCII, EBCDIC y Unicode.
  
  su rango va de 1 a 1000 caracteres porque se emplean 2 bytes por cada caracter.


- nvarchar2(x): 

  es similar a "varchar2", excepto que permite almacenar caracteres Unicode.

  su rango va de 1 a 2000 caracteres porque se emplean 2 bytes por cada caracter.


- varchar(x) y char2(x): disponibles en Oracle8.


- long: 

  guarda caracteres de longitud variable; puede contener hasta 2000000000 caracteres (2 Gb). No admite argumento para   

especificar su longitud. En Oracle8 y siguientes versiones conviene emplear "clob" y "nlob" para almacenar grandes   

cantidades de datos alfanuméricos.


TIPS

  Si ingresamos un valor numérico (omitiendo las comillas), lo convierte a cadena y lo ingresa como tal.Por ejemplo, si en  

 un campo definido como varchar2(5) ingresamos el valor 12345, lo toma como si hubiésemos tipeado '12345', igualmente, si   

ingresamos el valor 23.56, lo convierte a '23.56'. 

  Si el valor numérico, al ser convertido a cadena supera la longitud definida, aparece un mensaje de error y la sentencia  

  no se ejecuta.

  Es importante elegir el tipo de dato adecuado según el caso.

  Para almacenar cadenas que varían en su longitud, es decir, no todos los registros tendrán la misma longitud en un campo  

  determinado, se emplea "varchar2" en lugar de "char". Por ejemplo, en campos que guardamos nombres y apellidos, no todos  

 los nombres y apellidos tienen la misma longitud.

  Para almacenar cadenas que no varían en su longitud, es decir, todos los registros tendrán la misma longitud en un campo  

  determinado, se emplea "char". Por ejemplo, definimos un campo "codigo" que constará de 5 caracteres, todos los registros 

  tendrán un código de 5 caracteres, ni más ni menos.

  Para almacenar valores superiores a 4000 caracteres se debe emplear "long".


						

Plsql



- varchar2(x): =>varchar2(30)

  Se emplea para almacenar cadenas de caracteres. Se introduce entre comillas simples.
  
  Almacena cadenas de caracteres de longitud variable determinada por el argumento "x" (obligatorio). Que sea una cadena de 

  longitud variable significa que, si definimos un campo como "varchar2(10)" y almacenamos el valor "hola" (4 caracteres),  

 Oracle solamente ocupa las 4 posiciones (4 bytes y no 10 como en el caso de "char"); por lo tanto, si la longitud es   

variable, es conveniente utilizar este tipo de dato y no "char", así ocupamos menos espacio de almacenamiento en disco.     

Su rango es de 1 a 4000 caracteres.
  
  ejemplo: 'Hola'


- number(p,s): 

  Se usa para guardar valores numéricos con decimales, de 1.0 x10-120 a 9.9...(38 posiciones). 

  Definimos campos de este tipo cuando queremos almacenar valores numéricos con los cuales luego realizaremos operaciones   

  matemáticas, por ejemplo, cantidades, precios, etc.

  Puede contener números enteros o decimales, positivos o negativos. El parámetro "p" indica el número total de dígitos 

(contando los decimales) que contendrá el número como máximo (es la precisión). Su rango va de 1 a 38. 

  El parámetro "s" especifica la escala, es decir, el máximo de dígitos decimales. La escala puede ir de -84 a 127. Por   

ejemplo, un campo definido "number(5,2)" puede contener cualquier número entre 0.00 y 999.99 (positivo o negativo).

  Para especificar número enteros, podemos omitir el parámetro "s" o colocar el valor 0 como parámetro "s". Se utiliza como 

  separador el punto (.).

  Si definimos un campo de tipo number(4,2) e intentamos guardar el valor 123.45, aparece un mensaje indicando que el valor 

  es demasiado grande para la columna. 

  Si ingresamos un valor con más decimales que los definidos, el valor se carga pero con la cantidad de decimales     

permitidos, los dígitos sobrantes se omiten.


- float (x): 
  
  almacena un número en punto decimal. El parámetro indica la precisión binaria máxima; con un rango de 1 a 126. Si se   

omite, por defecto es 126.


TIPS

  Para ambos tipos numéricos:

  si ingresamos un valor con más decimales que los permitidos, redondea al más cercano; por ejemplo, si definimos "float

(4,2)" e ingresamos el valor "12.686", guardará "12.69", redondeando hacia arriba; si ingresamos el valor "12.682", 

guardará "12.67", redondeando hacia abajo.

  si intentamos ingresar un valor fuera de rango, no lo acepta.

  si ingresamos una cadena, Oracle intenta convertirla a valor numérico, si dicha cadena consta solamente de dígitos, la 

conversión se realiza, luego verifica si está dentro del rango, si es así, la ingresa, sino, muestra un mensaje de error y 

no ejecuta la sentencia. 
  
  Si la cadena contiene caracteres que Oracle no puede convertir a valor numérico, muestra un mensaje de error y la 

sentencia no se ejecuta.

  Por ejemplo, definimos un campo de tipo "numberl(5,2)", si ingresamos la cadena '12.22', la convierte al valor numérico 

12.22 y la ingresa; si intentamos ingresar la cadena '1234.56', la convierte al valor numérico 1234.56, pero como el máximo 

valor permitido es 999.99, muestra un mensaje indicando que está fuera de rango. Si intentamos ingresar el valor '12y.25', 

Oracle no puede realizar la conversión y muestra un mensaje de error.


TIPS

  Si en un campo almacenaremos números telefónicos o un números de documento, usamos "varchar2", no "number" porque si bien 

  son dígitos, con ellos no realizamos operaciones matemáticas. 

  Si en un campo guardaremos apellidos, y suponemos que ningún apellido superará los 20 caracteres, definimos el campo     

"varchar2(20)". 

  Si en un campo almacenaremos precios con dos decimales que no superarán los 999.99 pesos definimos un campo de tipo     

"number(5,2)", es decir, 5 dígitos en total, con 2 decimales. 

  Si en un campo almacenaremos valores enteros de no más de 3 dígitos, definimos un campo de tipo "number(3,0)".


- char(x): 

  Define una cadena de caracteres de longitud fija determinada por el argumento "x". 
  
  Si se omite el argumento, por defecto coloca 1. "char" viene de character, que significa caracter en inglés. Su rango     

es de 1 a 2000 caracteres.

  Que sea una cadena de longitud fija significa que, si definimos un campo como "char(10)" y almacenamos el valor "hola" (4 

  caracteres), Oracle rellenará las 6 posiciones restantes con espacios, es decir, ocupará las 10 posiciones; por lo tanto, 

  si la longitud es invariable, es conveniente utilizar el tipo char; caso contrario, el tipo varchar2.

  Si almacenamos "hola" en un campo definido "char(10)" Oracle almacenará "hola      ".


- nchar(x): 
  
  es similar a "char" excepto que permite almacenar caracteres ASCII, EBCDIC y Unicode.
  
  su rango va de 1 a 1000 caracteres porque se emplean 2 bytes por cada caracter.


- nvarchar2(x): 

  es similar a "varchar2", excepto que permite almacenar caracteres Unicode.

  su rango va de 1 a 2000 caracteres porque se emplean 2 bytes por cada caracter.


- varchar(x) y char2(x): disponibles en Oracle8.


- long: 

  guarda caracteres de longitud variable; puede contener hasta 2000000000 caracteres (2 Gb). No admite argumento para   

especificar su longitud. En Oracle8 y siguientes versiones conviene emplear "clob" y "nlob" para almacenar grandes   

cantidades de datos alfanuméricos.


TIPS

  Si ingresamos un valor numérico (omitiendo las comillas), lo convierte a cadena y lo ingresa como tal.Por ejemplo, si en  

 un campo definido como varchar2(5) ingresamos el valor 12345, lo toma como si hubiésemos tipeado '12345', igualmente, si   

ingresamos el valor 23.56, lo convierte a '23.56'. 

  Si el valor numérico, al ser convertido a cadena supera la longitud definida, aparece un mensaje de error y la sentencia  

  no se ejecuta.

  Es importante elegir el tipo de dato adecuado según el caso.

  Para almacenar cadenas que varían en su longitud, es decir, no todos los registros tendrán la misma longitud en un campo  

  determinado, se emplea "varchar2" en lugar de "char". Por ejemplo, en campos que guardamos nombres y apellidos, no todos  

 los nombres y apellidos tienen la misma longitud.

  Para almacenar cadenas que no varían en su longitud, es decir, todos los registros tendrán la misma longitud en un campo  

  determinado, se emplea "char". Por ejemplo, definimos un campo "codigo" que constará de 5 caracteres, todos los registros 

  tendrán un código de 5 caracteres, ni más ni menos.

  Para almacenar valores superiores a 4000 caracteres se debe emplear "long".