Ir al contenido principal

Conversión Implícita del Tipo de Dato ok

Valores que no comparten tipos de datos idénticos con los parámetros de las funciones son implícitamente convertidos al formato requerido si es posible. Tipos de datos VARCHAR2 y CHAR son referidos como tipos carácter. Los campos carácter son flexibles y permiten el almacenamiento  de cualquier tipo de información. Por lo tanto, valores DATE y NUMBER pueden ser fácilmente  convertidos a sus equivalentes carácter. Estas conversiones son conocidas como conversiones number to character and date to character. Considere los siguiente ejemplos:

QUERY 1. SELECT LENGHT(1234567890) FROM DUAL;
La función LENGTH  debe recibir una cadena de caracteres como parámetro, el número 1234567890 es implícitamente convertido a la cadena ‘1234567890’ antes de ser evaluado por la función LENGTH.

QUERY 2. SELECT LENGTH(SYSDATE) FROM DUAL;
La función LENGTH  debe recibir una cadena de caracteres como parámetro, la función SYSDATE que aparece como parámetro devuelve la fecha 07-ABR-2013 este elemento fecha es convertido a su equivalente carácter ’07-ABR-2013’

No es común convertir información carácter implícitamente en datos numéricos, ya que pueden suceder cosas inesperadas. Pueden aparecer números no validos. Conversión implícita de fechas es posible cuando la información cumple con los siguientes patrones:
[D|DD] separador1 [MON|MONTH] separador2 [R|RR|YY|YYYY]

Donde [D|DD] representa 1 o dos dígitos para el día del mes.  MON es una abreviación de tres letras del mes, mientras que MONTH representa el nombre completo del mes, R y RR representa el año en dos dígitos. YY y YYYY representa 2 y 4 dígitos para el año. Separador1 y separador2 pueden ser marcas de puntuación, espacios y tabs.

Ejemplos de Conversión implícita de Caracteres a Fecha
Function Call
Format
Results
Add_months(’24-JAN-09’,1)
DD-MON-RR
29/FEB/09
Add_months(‘1\january/8’,1)
D\MONTH/R
01/FEB/08
Months_between(’13*jan*8’,’13/feb/2008’
DD*MON*R, DD/MON/YYYY
-1
Add_months(‘01$jan/08’,1
DD$MON$RR
01/FEB/08


Comentarios