Funciones a Nivel de Fila. Copyright Oracle Corporation, All rights reserved.

Documentos relacionados
Restricción y Clasificación de los Datos. Copyright Oracle Corporation, All rights reserved.

Escritura Básica de Sentencias SQL. Copyright Oracle Corporation, All rights reserved.

Subconsultas Multi-Columna. Copyright Oracle Corporation, All rights reserved.

Funciones aritméticas.

Informática Básica Práctica Tema 3 Ejercicios de SQL

Funciones de una sola fila

Introducción a Oracle SQL-Plus. Introducción a Oracle SQL-Plus

2. Distinguir entre los comandos SQL*Plus y las sentencias SQL. 3. Consultar la estructura de una tabla, por ejemplo emp.

Creación de Vistas. Copyright Oracle Corporation, All rights reserved.

Sentencias Ejecutables. Copyright Oracle Corporation, All rights reserved.

Visualización de Datos a partir de Varias Tablas. Copyright Oracle Corporation, All rights reserved.

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Subconsultas. Copyright Oracle Corporation, All rights reserved.

Bases de Datos Ejercicios de SQL

Consulta de datos. FROM, obligatoria, se especifican las tablas donde está la información necesaria. Se puede poner alias a las tablas

Escribiendo sentencias básicas de SQL

Creación y Gestión de Tablas. Copyright Oracle Corporation, All rights reserved.

Bases de Datos I Práctica 1 Ejercicios de SQL

Ejercicios SQL - Select TutorialesNET Versión Revisión 1 25 de julio de 2015

Manipulación de Datos. Copyright Oracle Corporation, All rights reserved.

Cursores Explícitos. Copyright Oracle Corporation, All rights reserved.

Unidad 1: Oracle. MODULO V: Base de datos en Oracle

Manual Aprendiendo Practicando Oracle SQL (Spanish Edition) Click here if your download doesn"t start automatically

Declaración de Variables. Copyright Oracle Corporation, All rights reserved.

Oracle Fundamentos. Programa de Estudio.

6.1. Introducción. Guía 5. SQL.

Interacción con el Servidor Oracle8. Copyright Oracle Corporation, All rights reserved.

1. Introducción Tablas de referencia Expresiones 6

Usando los operadores SET (Conjunto)

Datos Agregados por medio de Funciones de Grupo. Copyright Oracle Corporation, All rights reserved.

Ampliación de Bases de Datos Práctica 1: El lenguaje PL/SQL de Oracle Sesión 1: Introducción al PL/SQL

Constraints (Restricciones) Copyright Oracle Corporation, All rights reserved.

Oracle Database: Introducción a SQL

Manual de introducción SQL Centro de Tecnología Informática

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Introducción a PL/SQL

Guia para conversión de datos en SQL SERVER

Introducción al lenguaje SQL

TABLA RESUMEN DE OPERADORES

Oracle 11g SQL. Curso práctico de formación. Antolín Muñoz Chaparro

MATERIAL INTRODUCTORIO ORACLE 11G

Tema: Respaldo y recuperación/ uso de asistentes

Desarrollo de Aplicaciones Informáticas

2. Obtener el valor absoluto del SALARIO para todas las filas de la tabla EMPLE

PL/SQL. DECLARE /* Parte Declarativa */ BEGIN /* Parte de Ejecución */ EXCEPTION /* Parte de Excepciones */ END;

Unidad. Lenguaje SQL. (Structured Query Language)

Tema 4. Manipulación de datos con SQL

LENGUAJE DE MANIPULACIÓN DE DATOS (DML) CONSULTA DE DATOS

Tema 4. Operadores y Expresiones

Diseño de bases de datos Práctica-1 Definición de datos

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011

(LDD) VARCHAR2 (n) : alfanumérico (hasta 240) NUMBER (n,p) : números con signo y punto decimal

S.Q.L. Funciones. Prof. Leonardo Carámbula - Sistemas de Bases de Datos II C.E.T.P. 2010

Oracle Database: Conceptos Básicos de SQL y PL/SQL

4. Operadores Operador asignación

Es la estructura que permite ejecutar los comandos solamente si se cumple una determinada condición. La sintaxis más usual:

Tema 5. Lenguaje de Definición de Datos

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo

INSTITUTO DE EDUCACIÓN TÉCNICA PROFESIONAL INTEP 1 T.P. SISTEMAS E INFORMATICA

Insertar Datos en Tablas

Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor

REFERENCIA DEL LENGUAJE

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1

SQL Server Ya desde CERO Parte 2

Conceptos Avanzados de Cursores Explícitos. Copyright Oracle Corporation, All rights reserved.

INTRODUCIR DATOS EN EXCEL... 2 Texto... 2 Números... 2 Fechas y horas Llenado rápido... 7 Opciones de llenado rápido... 9

Lección 2 Introducción al lenguaje C

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

Práctica Obtener el código y el doble del precio de los artículos cuyo precio es inferior a 5 céntimos de euro.

PHP: Lenguaje de programación

Columnas calculadas (operadores aritméticos y de concatenación)

PRESENTACION SQL SENTENCIAS SQL 5TO SEMESTRE DE INGENIERIA PROFESOR INGENIERO EDGAR SANDOVAL

INTRODUCCIÓN DE DATOS.

Modulo I: Introducción Gestores de Bases De Datos

Grupo Kybele, Pág. 1

Función SI- Microsoft Office Excel

UNIDAD DE TRABAJO 2: BASES DE DATOS RELACIONALES

1. DML. Las consultas de resumen

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Instrucción Definición Ejemplos

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

GUÍA BÁSICA DE SCHEME v.4

Tema: Respaldo y recuperación

MultiBase Cosmos. Notas a la versión 5.5. BASE 100, S.A.

Tutorial de SQL - El comando SELECT

2.2 CREAR TABLAS Y GRÁFICOS.

Definición y Manipulación de Bases de Datos con SQL. 1. Muestra la estructura de la tabla dept. Muestra todos los datos de la tabla dept.

Criterios para campos Texto Corto, Largo e Hipervínculo

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Tipos de datos y Operadores Básicos

Expresiones y sentencias

JavaScript: Lenguaje de programación

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández

CICLO I. Objetivos. Qué el estudiante: Utilice las funciones que trae integradas el SQL Server 2008 Cree Funciones propias en Transact SQL

2 Bloque de consulta básico

Tipos de Datos Compuestos. Copyright Oracle Corporation, All rights reserved.

FUNDAMENTOS DE INFORMÁTICA

Manipulando Datos. y Transacciones

Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado.

Transcripción:

3 Funciones a Nivel de Fila Copyright Oracle Corporation, 1998. All rights reserved.

Objetivos Al completar esta lección, debería ser capaz de hacer lo siguiente: Explicar los diversos tipos de funciones disponibles en SQL. Incluir una variedad de funciones de caracteres, numéricas y de datos en sentencias SELECT. Explicar las funciones de conversión y la manera en que podrían ser usadas. 3-2 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones SQL Entrada Función Salida arg 1 arg 2 arg n Las Funciones Realizan Acciones Valor Resultado 3-3 Copyright Oracle Corporation, 1998. All rights reserved.

Dos Tipos de Funciones SQL Funciones Funciones a Nivel de Fila Funciones a Nivel de Múltiples Filas 3-4 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones a Nivel de Fila: Sintaxis Manipulan ítems de datos. Aceptan argumentos y devuelven un valor. Actúan sobre cada fila retornada. Devuelven un resultado por fila. Modifican el tipo de datos. Pueden estar anidadas. Sintaxis: function_name (column expression, [arg1, arg2,...]) 3-5 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones a Nivel de Fila Character General Single-row functions Number Conversion Date 3-6 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones de Caracteres Funciones de Caracteres Funciones de Conversión LOWER UPPER INITCAP Funciones de Manipulación de Caracteres CONCAT SUBSTR LENGTH INSTR LPAD 3-7 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones de Conversión Conversión de cadenas de caracteres Función LOWER('Curso SQL') UPPER ('Curso SQL') INITCAP('Curso SQL') Resultado curso sql CURSO SQL Curso Sql 3-8 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de Funciones de Conversión Visualizar el número de empleado, nombre y nº de departamento de Blake. SQL> SELECT empno, ename, deptno 2 FROM emp 3 WHERE ename = 'blake'; no rows selected SQL> SELECT empno, ename, deptno 2 FROM emp 3 WHERE LOWER(ename) = 'blake'; EMPNO ENAME DEPTNO --------- ---------- --------- 7698 BLAKE 30 3-9 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones de Manipulación de Caracteres Manipulación de cadenas de caracteres Función CONCAT('Good', 'String') SUBSTR('String',1,3) LENGTH('String') INSTR('String', 'r') LPAD(sal,10,'*') Resultado GoodString Str 6 3 ******5000 3-10 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de Funciones de Manipulación de Caracteres SQL> SELECT ename, CONCAT (ename, job), LENGTH(ename), 2 INSTR(ename, 'A') 3 FROM emp 4 WHERE SUBSTR(job,1,5) = 'SALES'; ENAME CONCAT(ENAME,JOB) LENGTH(ENAME) INSTR(ENAME,'A') ---------- ------------------- ------------- ---------------- MARTIN MARTINSALESMAN 6 2 ALLEN ALLENSALESMAN 5 1 TURNER TURNERSALESMAN 6 0 WARD WARDSALESMAN 4 2 3-11 Copyright Oracle Corporation, 1998. All rights reserved.

ROUND: Funciones Numéricas Redondea un valor al decimal especificado ROUND(45.926, 2) 45.93 TRUNC: Trunca un valor en el decimal especificado TRUNC(45.926, 2) 45.92 MOD: Devuelve el resto de la división MOD(1600, 300) 100 3-12 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de la Función ROUND Visualizar el valor 45.923 redondeado a centenas, 0, y 10 posiciones decimales. SQL> SELECT ROUND(45.923,2), ROUND(45.923,0), 2 ROUND(45.923,-1) 3 FROM SYS.DUAL; ROUND(45.923,2) ROUND(45.923,0) ROUND(45.923,-1) --------------- -------------- ----------------- 45.92 46 50 3-13 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de la Función TRUNC Visualizar el valor 45.923 con TRUNC a centenas, 0, y 10 posiciones decimales. SQL> SELECT TRUNC(45.923,2), TRUNC(45.923), 2 TRUNC(45.923,-1) 3 FROM SYS.DUAL; TRUNC(45.923,2) TRUNC(45.923) TRUNC(45.923,-1) --------------- ------------- --------------- 45.92 45 40 3-14 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de la Función MOD Calcular el resto de dividir el salario entre la comisión de cada empleado, cuyo trabajo sea VENDEDOR. SQL> SELECT ename, sal, comm, MOD(sal, comm) 2 FROM emp 3 WHERE job = 'SALESMAN'; ENAME SAL COMM MOD(SAL,COMM) ---------- --------- --------- ------------- MARTIN 1250 1400 1250 ALLEN 1600 300 100 TURNER 1500 0 1500 WARD 1250 500 250 3-15 Copyright Oracle Corporation, 1998. All rights reserved.

Trabajando con Fechas Oracle almacena fechas en un formato numérico interno. Siglo, año, mes, día, horas, minutos, segundos. El formato de fecha por defecto es DD-MON-YY. SYSDATE es una función que devuelve fecha y hora. DUAL es una tabla virtual de la Base de Datos, que puede ser usada para inspeccionar SYSDATE. 3-16 Copyright Oracle Corporation, 1998. All rights reserved.

Operadores Aritméticos de Fechas Sumar o restar un número a ó de una fecha da por resultado una fecha. Restar dos fechas para encontrar la cantidad de días entre esas fechas. Sumar horas a una fecha dividiendo la cantidad de horas por 24. 3-17 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de Operadores Aritméticos en Fechas SQL> SELECT ename, (SYSDATE-hiredate)/7 WEEKS 2 FROM emp 3 WHERE deptno = 10; ENAME WEEKS ---------- --------- KING 830.93709 CLARK 853.93709 MILLER 821.36566 3-18 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones de Fecha FUNCION MONTHS_BETWEEN ADD_MONTHS NEXT_DAY LAST_DAY ROUND TRUNC DESCRIPCION Número de meses entre dos fechas Agregar meses según calendario, a una fecha Próximo día de la fecha especificada Ultimo día del mes Redondea una fecha Trunca una fecha 3-19 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de Funciones de Fecha MONTHS_BETWEEN ('01-SEP-95','11-JAN-94') 19.6774194 ADD_MONTHS ('11-JAN-94',6) '11-JUL-94' NEXT_DAY ('01-SEP-95','FRIDAY') '08-SEP-95' LAST_DAY('01-SEP-95') '30-SEP-95' 3-20 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de Funciones de Fecha ROUND('25-JUL-95','MONTH') 01-AUG-95 ROUND('25-JUL-95','YEAR') 01-JAN-96 TRUNC('25-JUL-95','MONTH') 01-JUL-95 TRUNC('25-JUL-95','YEAR') 01-JAN-95 3-21 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones de Conversión Conversión de Tipos de Datos Conversión Implícita Conversión Explícita 3-22 Copyright Oracle Corporation, 1998. All rights reserved.

Conversión Implícita del Tipo de Dato Para asignaciones, Oracle automáticamente puede convertir: De VARCHAR2 o CHAR VARCHAR2 o CHAR NUMBER DATE A NUMBER DATE VARCHAR2 VARCHAR2 3-23 Copyright Oracle Corporation, 1998. All rights reserved.

Conversión Explícita del Tipo de Dato Para evaluar una expresión, Oracle automáticamente puede convertir: De A VARCHAR2 o CHAR VARCHAR2 o CHAR NUMBER DATE 3-24 Copyright Oracle Corporation, 1998. All rights reserved.

Conversión Explícita del Tipo de Dato TO_NUMBER TO_DATE NUMBER CHARACTER DATE TO_CHAR TO_CHAR 3-25 Copyright Oracle Corporation, 1998. All rights reserved.

Función TO_CHAR con Fechas TO_CHAR(date, 'fmt') El formato: Debe estar encerrado entre comillas simples y es sensible a mayúsculas/minúsculas. Puede incluir cualquier elemento de formato de fecha válido. Tiene un elemento fm (fill mode) para eliminar espacios en blanco de relleno o suprimir ceros a la izquierda. Está separado de la fecha por una coma. 3-26 Copyright Oracle Corporation, 1998. All rights reserved.

Elementos del Modelo Formato de Fecha YYYY YEAR MM MONTH DY DAY Año completo en número Año en letras Nº del mes con dos dígitos Nombre completo del mes Abreviatura de tres letras del día de la semana Nombre completo del día 3-27 Copyright Oracle Corporation, 1998. All rights reserved.

Elementos del Formato de Fechas Obtención de la hora: HH24:MI:SS AM 15:45:32 PM Añadir cadenas de caracteres encerrándolas entre dobles comillas. DD "of" MONTH 12 of OCTOBER Sufijo que permita obtener el nº del día en letra. ddspth fourteenth 3-28 Copyright Oracle Corporation, 1998. All rights reserved.

Formato de Fecha RR Año Actual 1995 1995 2001 2001 Fecha Específicada 27-OCT-95 27-OCT-17 27-OCT-17 27-OCT-95 Formato RR 1995 2017 2017 1995 FormatoYY 1995 1917 2017 2095 Si los 2 dígitos del año corriente están 0-49 50-99 Si los 2 dígitos especificados del año están 0-49 50-99 La fecha devuelta corresponde al siglo corriente. La fecha devuelta corresponde al siglo posterior al corriente. La fecha devuelta corresponde al siglo anterior al corriente. La fecha devuelta corresponde al siglo corriente. 3-29 Copyright Oracle Corporation, 1998. All rights reserved.

Función TO_CHAR con Fechas SQL> SELECT ename, 2 TO CHAR(hiredate, 'fmdd Month YYYY') HIREDATE 3 FROM emp; ENAME HIREDATE ---------- ----------------- KING 17 November 1981 BLAKE 1 May 1981 CLARK 9 June 1981 JONES 2 April 1981 MARTIN 28 September 1981 ALLEN 20 February 1981... 14 rows selected. 3-30 Copyright Oracle Corporation, 1998. All rights reserved.

Función TO_CHAR con Números TO_CHAR(number, 'fmt') Use estos formatos con la función TO_CHAR para mostrar un carácter como un número. 9 0 $ L., Representa un número Fuerza a que se muestre el 0 (cero) Signo del dólar Usa el símbolo de moneda local Imprime el punto decimal Imprime el indicador de millar 3-31 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de la Función TO_CHAR con Números SQL> SELECT TO_CHAR(sal,'$99,999') SALARY 2 FROM emp 3 WHERE ename = 'SCOTT'; SALARY -------- $3,000 3-32 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones TO_NUMBER y TO_DATE Convierte una cadena de caracteres a un formato numérico usando la función TO_NUMBER TO_NUMBER(char) Convierte una cadena de caracteres a un formato de fecha usando la función TO_DATE TO_DATE(char[, 'fmt']) 3-33 Copyright Oracle Corporation, 1998. All rights reserved.

NVL Function Convierte un nulo a un valor. Los tipos de datos pueden ser de fecha, cadenas de caracteres y números. Los tipos de datos deben coincidir: NVL(comm,0) NVL(hiredate,'01-JAN-97') NVL(job,'No Job Yet') 3-34 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de la Función NVL SQL> SELECT ename, sal, comm, (sal*12)+nvl(comm,0) 2 FROM emp; ENAME SAL COMM (SAL*12)+NVL(COMM,0) ---------- --------- --------- -------------------- KING 5000 60000 BLAKE 2850 34200 CLARK 2450 29400 JONES 2975 35700 MARTIN 1250 1400 16400 ALLEN 1600 300 19500... 14 rows selected. 3-35 Copyright Oracle Corporation, 1998. All rights reserved.

La Función DECODE Hace las veces de sentecias CASE o IF-THEN-ELSE, para facilitar consultas condicionales. DECODE(col/expression, search1, result1 [, search2, result2,...,] [, default]) 3-36 Copyright Oracle Corporation, 1998. All rights reserved.

Uso de la Función DECODE SQL> SELECT job, sal, 2 DECODE(job, 'ANALYST' SAL*1.1, 3 'CLERK', SAL*1.15, 4 'MANAGER', SAL*1.20, 5 SAL) 6 REVISED_SALARY 7 FROM emp; JOB SAL REVISED_SALARY --------- --------- -------------- PRESIDENT 5000 5000 MANAGER 2850 3420 MANAGER 2450 2940... 14 rows selected. 3-37 Copyright Oracle Corporation, 1998. All rights reserved.

Anudamiento de Funciones Las funciones a nivel de fila pueden ser anidadas hasta cualquier nivel. Las funciones anidadas son evaluadas desde el nivel más profundo al nivel menos profundo. F3(F2(F1(col,arg1),arg2),arg3) Paso 1 = Resultado 1! Paso 2 = Resultado 2! Paso 3 = Resultado 3! 3-38 Copyright Oracle Corporation, 1998. All rights reserved.

Funciones Anidadas SQL> SELECT ename, 2 NVL(TO_CHAR(mgr),'No Manager') 3 FROM emp 4 WHERE mgr IS NULL; ENAME NVL(TO_CHAR(MGR),'NOMANAGER') ---------- ----------------------------- KING No Manager 3-39 Copyright Oracle Corporation, 1998. All rights reserved.

Resumen Use funciones para: Realizar cáculos sobre los datos Modificar datos de forma individual Manipular la salida de grupos de registros Alterar formatos de fecha en su visualización Convertir tipos de datos de columnas 3-40 Copyright Oracle Corporation, 1998. All rights reserved.

Visión General de la Práctica Crear consultas que requieran el uso de funciones numéricas, de caracteres y de fechas. Usar concatenación con funciones. Escribir consultas case insensitive para probar la utilidad de las funciones de caracteres. Ejecutar cálculos sobre años y meses de servicio para un empleado. Determinar la fecha de revisión para un empleado. 3-41 Copyright Oracle Corporation, 1998. All rights reserved.