Funciones aritméticas.

Documentos relacionados
Funciones de una sola fila

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

El Lenguaje SQL. Funciones en SQL

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

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

Instrucción Definición Ejemplos

RESUMEN SQL. Tipo de coincidencia Modelo Planteado Coincide No coincide. Varios caracteres 'ab*' 'abcdefg', 'abc' 'cab', 'aab'

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

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

SQL Oracle 12c. Este curso le permitira saber y conocer:

1. DML. Las consultas de resumen

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

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.

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

Estos argumentos posicionales trabajan con todos los datos que hay en la dirección especificada hasta que se encuentran con una celda vacía

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

SQL Server Ya desde CERO Parte 2

Operadores. Además se pueden emplear en sentencias SET.

I.E.S. Santiago Hernández

Funciones. En esta unidad aprenderás a: Identificar las distintas funciones que se pueden usar con la cláusula SELECT.

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

SQL Los fundamentos del lenguaje

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

Insertar Datos en Tablas

Modulo I: Introducción Gestores de Bases De Datos

MATERIAL INTRODUCTORIO ORACLE 11G

Lenguaje de consulta de datos SELECT PARTE 2

Tema 2. Tipos predefinidos

Tutorial de SQL - El comando SELECT

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

Tema 4. Manipulación de datos con SQL

SQL SERVER Curso Teórico-Práctico

Tipo de Dato TRANSACT SQL

SQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)

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

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Utilizar la cláusula RETURNS es obligatorio al momento de definir una función y sirve para especificar el tipo de dato que será devuelto.

SQL Básico. José Muñoz Jimeno Febrero 2015

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

API LENGUAJE DE PROGRAMACIÓN. Algoritmia y Programación

Sistemas y Aplicaciones Informáticas

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

Un calculadora avanzada... y algo más!

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

Tema 5. Lenguaje de Definición de Datos

INTRODUCCIÓN A PL/SQL

INTRODUCCION AL LENGUAJE SQL (PARA USUARIOS DE ORACLE)

Ejercicio 1 Funciones de SQL

Ejercicio 3 Funciones Parte 1.

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

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología

Funciones útiles de Visual foxpro

2.2 CREAR TABLAS Y GRÁFICOS.

Desarrollo de Aplicaciones Informáticas

Usando los operadores SET (Conjunto)

Fundamentos de Informática Laboratorio: Funciones

SELECT listadecampos FROM nombredetablas WHERE condicionesdebúsqueda;

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

Laboratorio de Arquitectura de Redes. Operadores y expresiones en lenguaje C

FUNDAMENTOS ORACLE 12C

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

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

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

Oracle Fundamentos. Programa de Estudio.

Oracle Fundamentos. Programa de Estudio.

Capítulo 4. Realización de consultas

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

MANEJO DE FUNCIONES EN ORACLE, MYSQL Y POSTGRESQL

VISUALIZACIÓN DE DATOS A PARTIR DE VARIAS TABLAS

TABLA RESUMEN DE OPERADORES

Parcial Bases de Datos

Ejemplo de gestión de datos con SQL

Ejercicios Unidad 5 Arreglos Resuelva cada problema a través de Arreglos y usando métodos:

Representación de datos y aritmética básica en sistemas digitales

Oracle Database 12c SQL and PLSQL Fundamentals

Laboratorios de BASES DE DATOS. (I.T. Informática)

Agrupamiento de registros. Elaboración de claúsulas avanzadas de selección. 31/12/2011. Unidad 9

Bases de Datos 1. Teórico: Structured Query Language

Bases de Datos I Práctica 1 Ejercicios de SQL

TEMA V SISTEMAS DE NUMERACIÓN

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Tipos de Datos y Representaciones. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC.

SQL. Amparo López Gaona. México, D.F. Noviembre 2003

Grupo Kybele, Pág. 1

GLOSARIO DE MICROSOFT VISUAL BASIC (HAZ CLIC EN LA OPCION DEL MENU Y ACCEDERAS RAPIDAMENTE)

Práctica 7. Ejercicios:

Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.

5.2. Sistemas de codificación en binario

Transcripción:

FUNCIONES Para utilizar alguna de las funciones que a continuación vamos a describir, Oracle proporciona una tabla de trabajo que se denomina DUAL. La sintaxis de una función es: Funciones aritméticas. SELECT función1, función2,..., funciónn FROM DUAL; Función ABS calcula el valor absoluto de un número n, siempre mayor que 0. Su sintaxis es: ABS(n) Función CEIL obtiene el valor entero inmediatamente superior o igual a n. Su sintaxis es: CEIL(n) Funciona FLOOR devuelve el valor entero inmediatamente inferior o igual a n. Su sintaxis es: FLOOR(n) Función MOD devuelve el resto de la división entera entre n y m. Su sintaxis es: MOD(n, m) Función NVL se utiliza para sustituir un valor nulo por una expresión. Su sintaxis es: NVL(valor, expresión ) Ejemplo Visualizar el sueldo más la comisión de todos los empleados Select salario + nvl(comisión,0),apellido from emple; Función POWER calcula la potencia de un número. Su sintaxis es: POWER(m, exponente) Función ROUND redondea números con la cantidad especificada de dígitos que se le indica, si se suprime la m devuelve 0 dígitos. También admite números negativos. Su sintaxis es: ROUND (número[,m]); Función SIGN devuelve el signo del valor, si el valor es menor que 0 devuelve -1 y si es mayor que 0 devuelve 1. Su sintaxis es: SIGN (valor)

Función SQRT devuelve la raiz cuadrada del número especficado. No se puede hayar la raiz cuadrada de números negativos. Su sintaxis es: SQRT(n) Función TRUNC trunca números para que tengan un determinado número de dígitos. No es como ajustar un número, sino que lo corta. Si se omite la m devuelve el número con 0 decimales. Puede admitir números negativos, por lo que trunca la parte entera. Su sintaxis es: TRUNC (número[,m]) Función VARIANCE devuelve la varianza de un conjunto de variables, la cual es una variable estadística. Su sintaxis es: VARIANCE(valor) Ejercicio 16: Obtener el valor absoluto de: salario 1.000.000 para todos los empleados de la tabla emp. Calcular CEIL(20.7), (-20.7), (16), (-16), (20.2), (-20.2). Con los mismos valores anteriores, utilizar la función FLOOR. Calcular el MOD(11,4), (-10,3), (10,15). Obtener el salario, la comisión y la suma de ambos teniendo en cuenta que si no tienen comisión hay que sustituirla por cero. Visualizar la tabla emp poniendo en la columna comm un 0 para aquellos que no tienen comisión. Calcular 4.5 2.4 y -3 4 Calcular ROUND (1.5634,1), (1.5634), (1.2676,3), (145.5,-1), (145.5,-2), (145.5,-3), (141,-1), (145,-1) Calcular TRUNC (1.5634,1), (1.5634,2), ( 187.98,-1), ( 187.98,-2), ( 187.98,-3) Calcular SQRT (-25), (2), Calcular SIGN(-10) Calcular la varianza del salario de la tabla empleado

Funciones de grupos de valores Actúa sobre un grupo de filas dando un único valor. AVG (n) calcula el valor media de n ignorando los valores nulos. COUNT( * expresión ) cuenta el número de veces de expresión evalúa algún dato con valor no nulo. La opción * cuenta todas las filas seleccionadas. Se puede utilizar la cláusula DISTINCT que hace una selección de las filas no repetidas de la columna especificada MAX (expresión) calcula el máximo valor de expresión. MIN ( expresión) calcula el mínimo valor de expresión. SUM (expresión) calcula la suma de las valores de la expresión. COUNT (expresión) calcula la suma de los elementos de la expresión. Ejercicio 17: Calcular el salario medio de todos los empleados del departamento 10. SELECT AVG(SAL) FROM EMP WHERE DEPTNO = 10 Calcular el número de filas de la tabla emp donde la comisión no es nula. SELECT COUNT(*) FROM EMP WHERE COMM IS NOT NULL Calcular el máximo y el mínimo salario de la tabla emp. SELECT MAX(SAL), MIN(SAL) FROM EMP Obtener el salario total de la empresa. SELECT SUM(SAL) FROM EMP Calcular el número de oficios distintos de la tabla emp. SELECT DISTINCT(JOB) FROM EMP Calcular el número de oficios diferentes que hay en total en los departamentos 10 y 20. select count(distinct job) from emp where deptno=10 or deptno=20; De todos los empleados que empiezan por A, quién es el que más gana? select max(sal) from emp where ename like 'A%';

select ename from emp where sal=1600; Funciones de listas. GREATEST (valor1, valor2,...) contiene el mayor valor de la lista especificada entre paréntesis. LEAST (valor1, valor2,...) obtiene el menor valor de la lista. Ejercicio 18: Visualizar el mayor y el menor de todos los valores numéricos que hay en la tabla emp. //Para cada fila saca el mayor Select greatest( emp_no,salario,dept_no,dir,comision) " mayor valor ", least(emp_no,salario,dept_no,dir,comision) "menor valor" from emple; // para que no salga los nulos Select greatest( emp_no,salario,dept_no,dir,nvl(comision,0)) " mayor valor ", least(emp_no,salario,dept_no,dir,nvl(comision,0)) "menor valor" from emple; // para que no salga nulo el minimo Select greatest( emp_no,salario,dept_no,dir,nvl(comision,0)) " mayor valor ", least(emp_no,salario,dept_no,dir,nvl(comision,999999999)) "menor valor" from emple; Funciones de cadenas de caracteres. CHR (n) devuelve el carácter cuyo valor en binario es equivalente a n. CONCAT (cadena1, cadena2 ) devuelve cadena1 concatenado con cadena2. LOWER (cadena) devuelve la cadena convirtiendo todas sus letras a minúsculas. UPPER (cadena) devuelve la cadena convirtiendo todas sus letras a mayúsculas. INITCAP (cadena) convierte la primera letra de la cadena a mayúsculas y el resto a minúsculas. LPAD (cad1, n [,cad2]) añade caracteres a la izquierda de la cadena1 hasta que alcance la longitud especificada en n. En cadena2 se pone el carácter a añadir. Si no se pone nada, el carácter es el espacio en blanco. RPAD (cad1, n [,cad2]) añade caracteres a la derecha de la cadena1 hasta que alcance la longitud especificada en n. En cadena2 se pone el carácter a añadir. Si no se pone nada, si no se pone nada el carácter es el espacio en blanco. LTRIM (cad [, set]) suprime un conjunto de caracteres a la izquierda de la cadena. Set representa la colección de caracteres que se van a suprimir. Si se omite devuelve la misma cadena.

RTRIM (cad [, set]) lo mismo que la anterior, pero por la derecha. REPLACE (cadena, cadena_de_busqueda [cadena_de_sustitución]) devuelve cadena con cada ocurrencia de cadena_de_búsqueda sustituida por cadena_de_sustitución. // IMPortante SUBSTR (cadena, inicio [,n]) extrae parte de una cadena de la siguiente forma: devuelve la subcadena de cadena, que empieza por la posición indicada en inicio hasta tantos caracteres como indique n. Si se omite n devuelve la cadena desde la posición especificada por inicio. El valor de inicio puede ser negativo. En este caso se hace lo mismo pero de derecha a izquierda. TRANSLATE (cadena1, cadena2, cadena3) devuelve la cadena1 con los caracteres que coincidan con cadena2, sustituidos por cadena3. SOUNDEX (cadena) reconoce palabras, que aunque se escriban de forma diferente, tiene una pronunciación muy parecida. Ejercicio 19: Devolver las letras cuyo valor ASCII es 75 y 65. select chr(75) from dual; select chr(65) from dual; Obtener el nombre de los empleados con el siguiente formato: Empleados, como título de la columna y dentro de cada tupla el nombre es: Nombre. Select concat ( El nombre es, concat( ename, Empleado )) from emp; Select concat ('El nombre es ', concat( ename,concat( ' ',job))) from emp; select 'El nombre es: ' ename "Empleado" from emp; Visualizar en minúsculas la palabra EJEMPLO. select lower('ejemplo') from dual; Obtener el nombre de todos los empleados en minúsculas. select lower(ename) from emp; Convertir al formato de título la siguiente expresión: ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS. select initcap('administracion DE SISTEMAS INFORMATICOS') from dual; Escribir lo siguiente: (****X), (*.*.*X), (*.*.X), (...HOLA). select lpad('x',5,'*') from dual; select lpad('x',6,'*.') from dual;

select lpad('x',5,'*.') from dual; select lpad('hola',9,'.') from dual; Obtener el nombre de los empleados con una longitud de 11 caracteres, rellenando con * por la derecha. select rpad(ename,11,'*') from emp; HOHHOHHOLA de esta cadena obtener HOLA. select ltrim('hohhohhola','hohhoh') from dual; select substr('hohhohhola',7) from dual; OLAALALAL de esta otra obtener OLA. select rtrim('olaalalal','alalal') from dual; select substr('olaalalal',1,3) from dual; BLANCO Y NEGRO cambiarla a BLANCA Y NEGRA. select translate('blanco Y NEGRO','O','A') from dual; ABCDEFG obtener 3 caracteres a partir del tercero. select substr('abcdefg','3','3') from dual; select substr( HOLA QUE TAL,2,7) FROM DUAL select substr( HOLA QUE TAL,-2,7) FROM DUAL SQL PLUS cambiarla por SQL*PLUS. select replace('sql PLUS',' ','*') from dual; Obtener los códigos fonéticos de los nombres de los empleados. Seleccionar uno de ellos y visualizar los empleados de la tabla cuyo código coincide con el código elegido. select soundex(ename) from emp; Select soundex('bear'), soundex('beer') from dual Funciones que devuelven valores numéricos. ASCII (cadena) devuelve el valor ASCII del primer carácter de la cadena. INSTR (cad1, cad2 [, comienzo [, m]]) devuelve la posición de la m_ésima ocurrencia de cad2 en cad1 empezando la búsqueda en la posición

comienzo, por omisión comienza desde la primera posición. Si comienzo es negativo, entonces la búsqueda comienza por el final de derecha a izquierda. LENGTH (cadena) devuelve el número de caracteres de la cadena. Ejercicio 20 Obtener el valor ASCII de la cadena ASI. select ascii('asi') from dual; Obtener la posición en la que está por segunda vez la cadena TA en: II VUELTA CICLISTA A PARLA. select instr('ii VUELTA CICLISTA A PARLA','TA',1,2) from dual; Obtener la última A. select instr('ii VUELTA CICLISTA A PARLA','A',1,5) from dual; Obtener la longitud de dicha cadena. select length('ii VUELTA CICLISTA A PARLA') from dual; Funciones para el manejo de fechas. SYSDATE devuelve la fecha del sistema. ADD_MONTH (fecha, n) devuelve la fecha especificada incrementada en n meses. LAST_DAY (fecha) devuelve la fecha del último día del mes que contiene el parámetro fecha. MONTHS_BETWEEN (fecha1, fecha2) devuelve la diferencia en meses entre fecha1 y fecha2. NEXT_DAY (fecha, cad) devuelve la fecha del primer día de la semana, indicado por cad, después de la fecha indicada en el parámetro fecha. Ejercicio 21. Visualizar la fecha del sistema. select sysdate from dual; emple Dada la tabla emple sumar dos meses y restar dos meses a la fecha de alta. select add_months (fecha_alt,2),add_months(fecha_alt,-2),fecha_alt from

Visualizar el último de día del mes para cada una de las fechas de alta de la tabla emple. select last_day(fecha_alt),fecha_alt from emple Calcular vuestra edad en meses. select months_between(sysdate,'6/08/90') from dual En años select months_between(sysdate,'6/08/90')/12 from dual Redondear ceil,floor,round select floor (months_between (sysdate,'6/8/90')/12) from dual A partir de la fecha de hoy calcular la fecha del próximo martes. select next_day(sysdate,'martes') from dual Funciones de conversión TO_CHAR ( fecha o numero, formato ) transforma un tipo fecha o número en una cadena de caracteres según el formato especificado. Examen select to_char (fecha o numero, ------ ) Formatos para fechas: YY - para especificar los 2 ultimos digitos del año. YYYY - para visualizar los 4 dígitos del año. d - numero de día de la semana. dd - numero de día del mes. ddd - numero de día del año. month - nombre del mes day - nombre del día mm número de mes Formatos para números: L moneda G especificamos los puntos de miles ( millares ) B blanco D decimal S signo 9 digitos a representar.. especificar los miles., - especificar los decimales. TO_DATE (cadena, formato ) convierte cadena (VARCHAR2 o de tipo CHAR) a un valor de tipo fecha ( date) según el formato elegido. Si no se indica el formato solo se convertirá en fecha si está en el formato que tenga la fecha del sistema.

TO_NUMBER (cadena [, formato]) convierte la cadena especificada a tipo numérico según el formato especificado. La cadena a de contener números, el carácter decimal (, ) o el signo menos ( - ) a la izquierda y no puede haber espacios entre los números ni otros caracteres. Ejercicio 22 Obtener la fecha de alta de los empleados con el formato : nombre de mes, día, y el año con 4 dígitos de la siguiente forma: Se dio de alta el 8 de enero de 2003. select to_char(fecha_alt,'"se dio de alta el "dd "de" month "de" yyyy ') " fecha de alta " from emple; Visualizar la suma de los salarios de la tabla emple de tal manera que aparezca el símbolo de la moneda, el punto de los miles y la coma decimal con dos decimales. Visualizarlo en euros. select to_char(sum(salario), '9,999,999.99L') from emple Transformar la siguiente cadena de caracteres 12122002 a una fecha Transformar las siguientes cadenas de caracteres en números: - (-123456) - 123,99 Obtener a partir de la cadena de caracteres 12122002 el nombre del mes Otras funciones. DECODE (var, val1, cod1, val2, cod2,..., valor por defecto) si var es igual a alguno de los valores de la lista val1, val2,..., devuelve el codigo correspondiente, cod1, cod2,... En caso contrario devuelve el valor por defecto. Como condición var tiene que ser del mismo tipo que val. VSIZE (expresión) devuelve el número de bytes que ocupa la expresión. Si expresión es nulo, devuelve un nulo. DUMP (cadena [, formato [, comienzo [, longitud]]]) visualiza el valor de cadena en ASCII, en octal, en hexadecimal, en decimal, según el valor del formato. ASCII 17 Decimal 10 Octal 8 Hexadecimal 16

Comienzo es la posición de inicio de la cadena y longitud es el número de caracteres que se van a visualizar. USER devuelve el nombre del usuario actual. También podemos visualizarlo con el comando SHOW USER. UID devuelve el identificador del usuario actual. Ejercicio 23. Listar los nombres de la tabla emple codificando su empleo. Select decode(oficio,'presidente','1','director','2','analista','3','otros'),apellido,o ficio from emple; Calcular el valor en bytes de los nombres de la tabla emple. Select Vsize (apellido) from emple; Utilizando el nombre del grupo ASI aplicar la función DUMP con todos los formatos posibles. DECIMAL OCTAL ASCII HEXADECIMAL Visualizar el usuario y el identificador del usuario actual. Select user from dual show user select uid from dual