Demanda
La tabla Employees, cuenta con el campo phone_number, el cual es de tipo Varchar2 (texto) algunos de estos números telefónicos tienen 10 dígitos y otros hasta 15 dígitos.
Losnúmeros que son de 10 dígitos se encuentran separados por puntos formando dos grupos de tres dígitos y un grupo de 4.
Los números de 15 dígitos se encuentran separados puntos, formando un grupo de 3,seguido por un grupo de 2, seguido por un grupo de 4 y terminando con un grupo de 6 dígitos.
1. Escriba una consulta para ubicar la posición del primer punto separador
SELECT last_name,INSTR(phone_number,'.')AS "POSICION DEL PRIMER PUNTO"
FROM employees;
2. Escriba una consulta para extraer el primer grupo de números.
SELECT last_name,SUBSTR(phone_number,1,INSTR(phone_number,'.')-1)AS"PRIMER GRUPO DE NUMEROS"
FROM employees;
3. Escriba una consulta que reste el entero 10 al texto de la anterior consulta y muestre el resultado. ¿Por qué se puede restar un entero a un texto?SELECT last_name, INSTR(phone_number,'.')AS "POSICION DEL PRIMER PUNTO", 10-INSTR(phone_number,'.') AS "10-TEXTO"
FROM employees;
Porque el texto utilizado, INSTR(phone_number,'.') , es unafunción de manipulación de caracteres que nos emite un resultado numérico y es así que podemos restar 10 con el resultado numérico de la función INSTR. Oracle los puede operar.
4. Escriba unaconsulta para ubicar la posición del segundo punto separador
SELECT last_name, INSTR(phone_number,'.') + INSTR(SUBSTR(phone_number,INSTR(phone_number,'.')+1,10),'.') AS "POSICION DEL SEGUNDO PUNTO"FROM employees;
Otra forma….
SELECT INSTR(SUBSTR(phone_number,5,8),'.')+4
FROM employees
5. Escriba una consulta que permita extraer el segundo grupo de números. Note que en algunoscasos este segundo grupo será de dos dígitos y en otros de 3.
SELECT first_name,phone_number,TRIM('.' FROM SUBSTR(phone_number,5,3))
FROM employees
6. Escriba una consulta que muestre los...
Regístrate para leer el documento completo.