DP 5 1 Practice Esp PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

academy.oracle.

com

Programación de Bases de Datos con SQL


5-1: Funciones de Conversión
Actividades de Práctica

Objetivos
• Proporcionar un ejemplo de conversión de tipo de dato implícita y explícita y una
conversión de tipo de dato implícita
• Explicar el motivo de la importancia, desde una perspectiva de negocio, de que un
lenguaje tenga capacidades de conversión de datos incorporadas
• Crear una consulta SQL que aplique correctamente las funciones de una sola fila
TO_CHAR, TO_NUMBER y TO_DATE para obtener el resultado deseado
• Aplicar el modelo de formato de fecha y/o caracteres adecuado para producir una
salida deseada
• Explicar y aplicar el uso de YY y RR para devolver el año correcto como se almacenó
en la base de datos

Terminología
Identifique el término para cada una de las siguientes definiciones.

CHAR Se utiliza para datos de texto y de caracteres de longitud fija,


incluidos los números, los guiones y los caracteres especiales.
FM Se utiliza para eliminar espacios en blanco o suprimir ceros
iniciales.

Funciones de Conversión Funciones que convierten un valor de un tipo de dato en otro.

NUMBER Se utiliza para almacenar datos numéricos de longitud variable.

VARCHAR2 Se utiliza para datos de caracteres de longitud variable,


incluyendo números, caracteres especiales y guiones.
DATE Se utiliza para los valores de fecha y hora.

TO_CHAR Convierte fechas o números en cadenas de caracteres con


formato opcional
RR El valor de siglo depende del año especificado y los dos últimos
dígitos del año actual
TO-NUMBER Convierte una cadena de caracteres que contiene dígitos en un
número con formato opcional
DD Día numérico del mes

TO_DATE Convierte una cadena de caracteres que representa una fecha


2
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
en un valor de fecha con formato opcional
Formato de fecha RR

Inténtelo/Resuélvalo

En cada uno de los siguientes ejercicios, no dude en utilizar etiquetas para que la columna
convertida produzca una salida más legible.

1. Muestre una lista de los apellidos y las fechas de nacimiento de los empleados de Global
Fast Food. Convierta las fechas de nacimiento en datos de caracteres con el formato
Mes DD, AAAA. Suprima los ceros iniciales.
SELECT LAST_NAME,TO_CHAR (BIRTHDATE,'Mon fmDay ddth, YYYY') FROM
F_STAFFS;

2. Convierta January 3, 04 en el formato de fecha por defecto 03-Jan-2004.


SELECT TO_DATE('January 3, 04', 'Month dd,yy') FROM DUAL;

3. Aplique formato a una consulta de la tabla f_promotional_menus de Global Fast Foods


para imprimir start_date del código de promoción 110 como: The promotion began on the
tenth of February 2004.
SELECT TO_CHAR (START_DATE,'"The promotion began on the" ddthsp "of"
month, yyyy') FROM f_promotional_menus WHERE CODE=110;

4. Convierta la fecha actual en un formato como: “Today is the Twentieth of March, Two
Thousand Four”
SELECT TO_CHAR (sysdate, '"Today is the" ddthsp month, year') FROM dual;

5. Muestre una lista con el ID, el nombre y el salario de todos los empleados de Global Fast
Foods. Muestre el salario con un signo $ y dos decimales.
SELECT EMPLOYEE_ID,LAST_NAME,TO_CHAR (SALARY,'$99,999.99') FROM
EMPLOYEES;

6. Ellen Abel es una empleada que ha recibido un aumento de 2.000 $. Muestre su nombre
y apellido, su sueldo actual y su nuevo salario. Muestre ambos salarios con un signo $ y
dos decimales. Etiquete su nueva columna de salario como AS New Salary.
SELECT first_name, last_name, TO_CHAR( salary, '$999999.99') as "salario
antiguo", TO_CHAR( salary + 2000 , '$9999999.99') as "salario nuevo"FROM
employees WHERE first_name = 'Ellen' AND last_name = 'Abel' ;
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
7. ¿En qué día de la semana y fecha comenzó el código promocional 110 del especial de
San Valentín de Global Fast Foods?
SELECT TO_CHAR(start_date, 'fmdd-Mon-YYYY
(Day)')FROMf_promotional_menusWHERE code =110;

8. Cree una consulta que convierta 25-Dec-2004 en cada una de las siguientes opciones
(necesitará convertir 25-04 25-Dec-2004 en una fecha y, a continuación, en datos de
caracteres):

December 25th, 2004


DECEMBER 25TH, 2004
25th december, 2004

SELECT TO_CHAR(TO_DATE('25-Dec-2004', 'dd-Mon-yyyy'), 'MONTH DDth, yyyy')


FROM dual; 25th december, 2004

SELECT TO_CHAR(TO_DATE('25-Dec-2004', 'dd-Mon-yyyy'), 'fmddth month, yyyy')


FROM dual;

9. Cree una consulta que aplique a las columnas d_packages de DJs on Demand, costos
de paquetes de alto y de bajo rango, el formato $2500,00.
SELECT code, TO_CHAR(low_range,'$999999.99')
TO_CHAR(high_range,'$999999.99') FROM d_packages;

10. Convierta JUNE192004 en una fecha mediante el modelo de formato fx.


SELECT TO_DATE(‘JUNE192004’, ‘fxfmMONTHddyyyy) as CambioFecha FROM
dual;

11. ¿Cuál es la diferencia entre una conversión de tipo de dato implícita y explícita?
Proporcione un ejemplo de cada una de ellas.
En la implícita no hay problema de perdida de datos, en la explicita si lo hay.
Implícita: SELECT SYSDATE FROM dual; Una fecha que se convierte al tipo de
dato caracter con el formato predeterminado de 'DD-Mon-YYYY'
Explícita: SELECT TO_CHAR(SYSDATE, 'MONTH DDth, yyyy') FROm dual; Una
fecha que se convierte al tipo de datos caracter con el formato no predeterminado
'MONTH DDth, yyyy'

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
12. ¿Por qué es importante desde una perspectiva de negocio tener conversiones de tipos
de dato?
Porque hay ocasiones en que unos datos necesarios están en char y para hacer
los cálculos más confiables se necesitan los números en tipo numérico y al hacer
los números con char podría marcar resultados erróneos.

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.

También podría gustarte