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
Publicar un comentario