M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-1
Funciones de renglón simples 4-1 SQL Server
Funciones de
Rengl...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-2
Funciones de renglón simples 4-2 SQL Server
Objetivos
Al compl...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-3
Funciones de renglón simples 4-3 SQL Server
Funciones de SQL
F...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-4
Funciones de renglón simples 4-4 SQL Server
Tipos de Funciones...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-5
Funciones de renglón simples 4-5 SQL Server
Funciones de Rengl...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-6
Funciones de renglón simples 4-6 SQL Server
Funciones de Rengl...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-7
Funciones de renglón simples 4-7 SQL Server
Funciones para cad...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-8
Funciones de renglón simples 4-8 SQL Server
Función Resultado
...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-9
Funciones de renglón simples 4-9 SQL Server
LEFT('Good', 2)
SU...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-10
Funciones de renglón simples 4-10 SQL Server
Funciones numéri...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-11
Funciones de renglón simples 4-11 SQL Server
Utilizando la Fu...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-12
Funciones de renglón simples 4-12 SQL Server
SELECT ROUND(45....
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-13
Funciones de renglón simples 4-13 SQL Server
Utilizando la Fu...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-14
Funciones de renglón simples 4-14 SQL Server
Utilizando la Fu...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-15
Funciones de renglón simples 4-15 SQL Server
Trabajando con F...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-16
Funciones de renglón simples 4-16 SQL Server
Funciones para F...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-17
Funciones de renglón simples 4-17 SQL Server
Función DATEADD
...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-18
Funciones de renglón simples 4-18 SQL Server
Función DATEDIFF...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-19
Funciones de renglón simples 4-19 SQL Server
Función DATENAME...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-20
Funciones de renglón simples 4-20 SQL Server
Función DATEPART...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-21
Funciones de renglón simples 4-21 SQL Server
Funciones de Con...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-22
Funciones de renglón simples 4-22 SQL Server
Funciones de Con...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-23
Funciones de renglón simples 4-23 SQL Server
Funciones de Con...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-24
Funciones de renglón simples 4-24 SQL Server
Función ISNULL
C...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-25
Funciones de renglón simples 4-25 SQL Server
Utilizando la Fu...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-26
Funciones de renglón simples 4-26 SQL Server
Funciones Anidad...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-27
Funciones de renglón simples 4-27 SQL Server
Funciones Anidad...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-28
Funciones de renglón simples 4-28 SQL Server
Prácticas
– Crea...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-29
Práctica 4
1. Haga una consulta para desplegar la fecha actua...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-30
Práctica 4 (continuación)
4. Muestre el nombre de empleado, f...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-31
Práctica 4 (continuación)
6. Haga una consulta que dibuje una...
M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-32
Práctica 4 (continuación)
8. Muestre el nombre, la fecha de i...
Próxima SlideShare
Cargando en…5
×

Capitulo iv

1.769 visualizaciones

Publicado el

Publicado en: Tecnología
2 comentarios
1 recomendación
Estadísticas
Notas
Sin descargas
Visualizaciones
Visualizaciones totales
1.769
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
21
Comentarios
2
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Capitulo iv

  1. 1. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-1 Funciones de renglón simples 4-1 SQL Server Funciones de Renglón Simples
  2. 2. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-2 Funciones de renglón simples 4-2 SQL Server Objetivos Al completar esta lección, deberá ser capaz de hacer lo siguiente : – Describir los diferentes tipos de funciones disponibles en SQL – Utilizar funciones para caracteres, números y fechas en la instrucción SELECT
  3. 3. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-3 Funciones de renglón simples 4-3 SQL Server Funciones de SQL Función Entrada arg 1 arg 2 arg n Función ejecuta una acción Salida Resultado Funciones de SQL Las funciones son herramientas muy poderosas de SQL y pueden ser utilizadas de la siguiente forma : •Ejecutar cálculos sobre los datos •Modificar datos individuales Las funciones aceptan argumentos y devuelven un resultado.
  4. 4. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-4 Funciones de renglón simples 4-4 SQL Server Tipos de Funciones de SQL Funciones Funciones Renglón-simple Funciones Renglón-Múltiple Funciones de SQL Existen dos tipos de funciones : • Funciones de Renglón-simple • Funciones de Renglón-múltiple Funciones de Renglón-simple Estas funciones operan con renglones individuales y retornan un resultado por renglón, los tipos de función son para manipular : • Caracteres • Números • Fechas Funciones de Renglón-múltiple Estas funciones manipulan grupos de renglones para retornar solo un resultado por cada grupo de registros. Estas funciones se analizarán en la siguiente lección.
  5. 5. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-5 Funciones de renglón simples 4-5 SQL Server Funciones de Renglón-simple – Manipulan datos – Aceptan argumentos y retornan un valor – Actúan sobre cada renglón – Retornan un resultado por renglón – Pueden ser anidadas function_name (column|expression, [arg1, arg2,...]) Funciones de Renglón-simple Son utilizadas para manipular datos. Aceptan uno o más argumentos y devuelven un solo valor por cada registro procesado. Sintaxis : function_name es el nombre de la función. column una columna de la base de datos. expression es una cadena de caracteres o una expresión. arg1, arg2 es cualquier argumento de la función.
  6. 6. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-6 Funciones de renglón simples 4-6 SQL Server Funciones de Renglón-simple Conversión Caracter Numéricas Fecha Funciones Renglón-simple Funciones de Renglón-simple (continuación) En esta lección trataremos las siguientes Funciones de Renglón-simple : • funciones para cadenas : Aceptan parámetros tipo caracter y pueden retornar tanto como caracteres como números • funciones numéricas : Aceptan parámetros tipo numérico y retornan valores numéricos • funciones para fechas : Operan sobre valores tipo datetime. • funciones para conversión : Convierten un valor de un tipo a otro
  7. 7. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-7 Funciones de renglón simples 4-7 SQL Server Funciones para cadenas Función de cadena LOWER UPPER LEFT REPLICATE LEN RTRIM LTRIM SUBSTRING RIGHT Funciones para Conversión Funciones para manipular cadenas Funciones para cadenas Las funciones para cadenas aceptan datos tipo carácter como entrada y pueden retornar tanto un un número como un carácter. Pueden dividirse en : • Conversión a Mayúsculas/Minúsculas • Manipulación de cadenas Función Propósito LOWER(c_expression) Retorna una cadena de caracteres convertida a minúsculas. UPPER(c_expression) Retorna una cadena de caracteres convertida a mayúsculas. LEFT(c_expression, n) Retorna los n caracteres más a la izquierda de la cadena. LEN(c_expression) Retorna el número de caracteres que contiene la cadena. LTRIM(c_expression) Elimina los caracteres en blanco de la izquierda de c_expression. RIGHT(c_expression, n) Retorna los n caracteres más a la derecha de la cadena. RTRIM(c_expression) Elimina los caracteres en blanco de la derecha de c_expression. SUBSTRING(c_expression, start, n) Retorna los n carateres de c_expression empezando en start. REPLICATE(caracter, n) Repite n veces caracter.
  8. 8. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-8 Funciones de renglón simples 4-8 SQL Server Función Resultado Funciones para Conversión LOWER('SQL Course') UPPER('SQL Course') sql course SQL COURSE Funciones para Conversión • LOWER : convierte una cadena a minúsculas. • UPPER : convierte una cadena a mayúsculas. EMPLOYEE DETAILS ----------------------------------------- The job title for SMITH is clerk The job title for ALLEN is salesman The job title for WARD is salesman The job title for JONES is manager The job title for MARTIN is salesman ........ SELECT 'The job title for ' + UPPER(ename) + ' is ' + LOWER(job) AS "EMPLOYEE DETAILS" FROM emp;
  9. 9. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-9 Funciones de renglón simples 4-9 SQL Server LEFT('Good', 2) SUBSTRING('String',1,3) LEN('String') LTRIM(' String') RIGHT('Good', 2) RTRIM('String ') REPLICATE('S’, 4) Go Str 6 String od String SSSS Función Resultado Funciones para manipular cadenas
  10. 10. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-10 Funciones de renglón simples 4-10 SQL Server Funciones numéricas – ROUND: – POWER: – ABS: Redondea un valor a las posiciones decimales indicadas. Eleva una cantidad a la potencia indicada. Retorna el valor absoluto de una expresión .
  11. 11. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-11 Funciones de renglón simples 4-11 SQL Server Utilizando la Función ROUND SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1) --------------- -------------- ----------------- 45.920 46.000 50.000 Utilizando la Función ROUND La función ROUND retorna una expresión numérica redondeada a la longitud o precisión especificada. >= 5 Redondea < 5 No Redondea. Sintaxis : ROUND(expression, length[, function]) expression : es una expresión numérica. length : es la precisión a la que la expresión será redondeada. • Cuando length es positivo, la expresión es redondeada al número de decimales especificados por length. • Cuando length es negativo, la expresión es redondeada por el lado izquierdo del punto decimal, como indique length. function : Es el tipo de operación a ejecutar. Si function es omitida o tenga un valor de 0 (default), la expression es redondeada . Si se indica otro valor diferente que 0, la expression es truncada.
  12. 12. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-12 Funciones de renglón simples 4-12 SQL Server SELECT ROUND(45.923,2,1), ROUND(45.923,0,1), ROUND(45.923,-1,1) --------------- ------------- --------------- 45.920 45.000 40.000 Utilizando ROUND como una Función TRUNC Utilizando ROUND como una Función TRUNC Utilice la función ROUND para efectuar una función TRUNC, se debe indicar un valor diferente de cero en el parámetro function de ROUND.
  13. 13. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-13 Funciones de renglón simples 4-13 SQL Server Utilizando la Función POWER Obtenga la raíz cuadrada del salario de todos los empleados cuyo puesto sea “SALESMAN”. SELECT ename, sal, comm, POWER(sal, 0.5) FROM emp WHERE job = 'SALESMAN'; ENAME SAL COMM ---------- --------- --------- ------------- ALLEN 1600.00 300.00 40.00 WARD 1250.00 500.00 35.36 MARTIN 1250.00 1400.00 35.36 TURNER 1500.00 .00 38.73 Utilizando la Función POWER La función POWER eleva expresión a la potencia indicada. En el ejemplo, se obtiene la raíz cuadrada que es equivalente a elevar una cantidad a la potencia 0.5.
  14. 14. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-14 Funciones de renglón simples 4-14 SQL Server Utilizando la Función ABS Obtenga cuantas unidades hay entre el salario y la comisión para los empleados cuyo puesto sea “SALESMAN”. SELECT ename, sal, comm, ABS(sal - comm) FROM emp WHERE job = 'SALESMAN'; ENAME SAL COMM ---------- --------- --------- ------------- ALLEN 1600.00 300.00 1300.00 WARD 1250.00 500.00 750.00 MARTIN 1250.00 1400.00 150.00 TURNER 1500.00 .00 1500.00 Utilizando la Función ABS Retorna el valor absoluto de una expresión. En el ejemplo, se obtiene la distancia en unidades de salario que existen entre la comisión y el salario.
  15. 15. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-15 Funciones de renglón simples 4-15 SQL Server Trabajando con Fechas – SQL Server almacena las fechas en un formato numérico internamente que representa : Año, Mes, Día, Hora, Minutos, Segundos y milésimas de segundo. – GETDATE() es una función que obtiene la fecha actual del sistema. Trabajando con Fechas Las operaciones típicas con valores de tipo datetime son ”obtener la fecha y hora actuales”, “aritmética de fechas - ¿Qué fecha será dentro de 50 días?” o “dime que día de la semana es una fecha dada”. Los valores de tipo fecha son almacenados internamente por Microsoft® SQL Server™ como dos enteros de 4 bytes. Los primeros 4 bytes almacenan el número de días después de la fecha base, January 1, 1900. Los otros 4 bytes almacenan la hora del día representado como la cantidad de milisegundos transcurridos después de la medianoche. Nota : El rango de un entero sin signo de 32 bits es desde 0 hasta 4294967295. Ref. Programación con C++ Builder, Francisco Charte, Ed. Anaya, Cap. 3 Tipos de datos, pag. 58.
  16. 16. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-16 Funciones de renglón simples 4-16 SQL Server Funciones para Fechas Agrega intervalo a la fecha indicadaDATEADD DATEDIFF DATENAME DATEPART GETDATE Devuelve el número de unidades entre dos fechas Devuelve una cadena que representa la fecha Devuelve un entero representado una parte de la fecha Obtiene la fecha actual del sistema FUNCION DESCRIPCION
  17. 17. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-17 Funciones de renglón simples 4-17 SQL Server Función DATEADD DATEADD(datepart, number, date) • Retorna una nueva fecha después de agregarle number expresado como datepart a date. SELECT ename, hiredate, DATEADD(mm,5,hiredate) FROM emp WHERE deptno = 10; ename hiredate ---------- --------------------------- --------------------------- CLARK 1981-06-09 00:00:00.000 1981-11-09 00:00:00.000 KING 1981-11-17 00:00:00.000 1982-04-17 00:00:00.000 MILLER 1982-01-23 00:00:00.000 1982-06-23 00:00:00.000 Funciones para Fechas DATEADD(datepart, number, date) Retorna una nueva fecha después de agregarle number expresado como datepart a date. datepart : indica como se va a tratar el incremento, como se muestra en la siguiente tabla : datepart Abreviación year yy quarter qq month mm day of year dy day of week dw day dd week wk hour hh minute mi second ss millisecond ms
  18. 18. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-18 Funciones de renglón simples 4-18 SQL Server Función DATEDIFF DATEDIFF(datepart, startdate, enddate) • Retorna el número de unidades expresadas como datepart entre dos fechas. SELECT ename, hiredate, DATEDIFF(yy, hiredate, GETDATE()) Years FROM emp WHERE deptno = 20; ename hiredate Years ---------- --------------------------- ----------- SMITH 1980-12-17 00:00:00.000 19 JONES 1981-04-02 00:00:00.000 18 SCOTT 1982-12-09 00:00:00.000 17 ADAMS 1983-01-12 00:00:00.000 16 FORD 1981-12-03 00:00:00.000 18 Funciones para Fechas DATEDIFF(datepart, startdate, enddate) Retorna el número de unidades expresadas como datepart entre dos fechas. En el ejemplo se obtiene los años transcurridos de la fecha de ingreso del empleado hasta el día de hoy para los empleados del departamento 20.
  19. 19. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-19 Funciones de renglón simples 4-19 SQL Server Función DATENAME DATENAME(datepart, date) – Devuelve una cadena que representa la fecha especificada como datepart. SELECT ename, hiredate, DATENAME(dw, hiredate) 'Day of week' FROM emp; ename hiredate Day of week ---------- --------------------------- ------------------------- SMITH 1980-12-17 00:00:00.000 Wednesday ALLEN 1981-02-20 00:00:00.000 Friday WARD 1981-02-22 00:00:00.000 Sunday JONES 1981-04-02 00:00:00.000 Thursday .... Funciones para Fechas DATENAME(datepart, date) Devuelve una cadena que representa la fecha especificada como datepart. En el ejemplo se obtiene el nombre del día de la fecha de ingreso de todos los empleados.
  20. 20. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-20 Funciones de renglón simples 4-20 SQL Server Función DATEPART DATEPART(datepart, date) – Devuelve un entero representado una parte de la fecha expresada como datepart. SELECT ename, DATEPART(yy, hiredate) Year, DATEPART(mm, hiredate) Month, DATEPART(dd, hiredate) Day from emp ename Year Month Day ---------- ----------- ----------- ----------- SMITH 1980 12 17 ALLEN 1981 2 20 WARD 1981 2 22 ... Funciones para Fechas DATEPART(datepart, date) Devuelve un entero representado una parte de la fecha expresada como datepart. En el ejemplo se obtiene el nombre y la fecha de ingreso de todos los empleados desglosado por año, mes y día. Existen funciones específicas para obtener en forma particular el año, mes y día. YEAR( date) MONTH(date) DAY( date) SELECT ename, YEAR(hiredate) Year, MONTH(hiredate) Month, DAY(hiredate) Day FROM emp
  21. 21. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-21 Funciones de renglón simples 4-21 SQL Server Funciones de Conversión Conversiones de tipo Implícitas Conversiones de tipo Explícitas Conversiones de tipo Funciones de Conversión Existen dos tipos de conversión entre tipos de datos: • Conversiones de tipo Implícitas • Conversiones de tipo Explícitas Conversiones de tipo Implícitas : son aquellas que ocurren sin tener que realizar la conversión de tipo. Conversiones de tipo Explícitas : son aquellas que necesitan una conversión de tipo para poder operar.
  22. 22. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-22 Funciones de renglón simples 4-22 SQL Server Funciones de Conversión CAST CAST(expression AS data_type) • Convierte expression al tipo indicado por data_type. SELECT ename, CAST( hiredate AS char) "Hire Date" FROM emp; ename Hire Date ---------- ------------------------------ SMITH Dec 17 1980 12:00AM ALLEN Feb 20 1981 12:00AM WARD Feb 22 1981 12:00AM ........ Funciones de Conversión CAST CAST(expression AS data_type) Convierte expression al tipo indicado por data_type. En el ejemplo, se muestran todos los empleados con su fecha de ingreso expresada como una cadena de caracteres.
  23. 23. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-23 Funciones de renglón simples 4-23 SQL Server Funciones de Conversión CONVERT CONVERT (data_type[(length)], expression [, style]) Convierte expression al tipo indicado por data_type con la longitud dada por length utilizando el estilo style. SELECT ename, CONVERT( char(10), hiredate, 103) "Hire Date” FROM emp; ename Hire Date ---------- ---------- SMITH 17/12/1980 ALLEN 20/02/1981 WARD 22/02/1981 ........ Funciones de Conversión CONVERT CONVERT (data_type[(length)], expression [, style]) Convierte expression al tipo indicado por data_type con la longitud dada por length utilizando el estilo style. CAST(expression AS data_type) La función CONVERT es un sinónimo de la función CAST. En el ejemplo, se muestran todos los empleados con su fecha de ingreso expresada como una cadena de caracteres con el formato británico dd/mm/yyyy (para mayor referencia consulte los libros en pantalla). 0 o 100 (*) Predeterminado mon dd yyyy hh:miAM (o PM) 101 EE.UU. mm/dd/yy 102 ANSI yy.mm.dd 103 Británico/Francés dd/mm/yy 104 Alemán dd.mm.yy 105 Italiano dd-mm-yy 106 - dd mon yy 107 - mon dd, yy
  24. 24. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-24 Funciones de renglón simples 4-24 SQL Server Función ISNULL Convierte un valor nulo a un valor indicado –Tipos de datos comunes que se utilizan para evitar un NULL son date, character y numeric. –Ejemplos : • ISNULL(comm, 0) • ISNULL(hiredate,GETDATE()) • ISNULL(job, 'No Job Yet') Función ISNULL Convierte un valor nulo a un valor indicado. Sintaxis ISNULL (expr1, expr2) donde : expr1 es el valor o expresión que contiene valores nulos. expr2 es el valor por el que se reemplazará NULL.
  25. 25. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-25 Funciones de renglón simples 4-25 SQL Server Utilizando la Función ISNULL SELECT ename, sal, comm, (sal*12)+ISNULL(comm,0) FROM emp; ENAME SAL COMM ---------- --------- --------- -------------------- SMITH 800.00 9600.00 ALLEN 1600.00 300.00 19500.00 WARD 1250.00 500.00 15500.00 JONES 2975.00 35700.00 MARTIN 1250.00 1400.00 16400.00 ... 14 rows selected. Función ISNULL En el ejemplo se calcula el sueldo anual mas la comisión, los empleados que no ganan comisión se reemplaza el valor nulo por cero, por lo que el resultado se muestra en el ejemplo. En caso contrario si no se utiliza la función ISNULL el resultado no es el mismo (ver página 2-13).
  26. 26. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-26 Funciones de renglón simples 4-26 SQL Server Funciones Anidadas – Funciones de Renglón-simple pueden estar anidadas a cualquier nivel. – Las funciones anidadas son evaluadas desde la más interna a la más externa. F3(F2(F1(col,arg1),arg2),arg3) Paso 1 = Resultado 1 Paso 2 = Resultado 2 Paso 3 = Resultado 3 Funciones Anidadas Funciones de Renglón-simple pueden estar anidadas a cualquier nivel de profundidad. Las funciones anidadas son evaluadas desde la más interna a la más externa.
  27. 27. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-27 Funciones de renglón simples 4-27 SQL Server Funciones Anidadas SELECT ename, ISNULL(CONVERT(char(10), mgr), 'No manager') Manager FROM emp ORDER BY mgr ename Manager ---------- ----------------------------- KING No Manager
  28. 28. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-28 Funciones de renglón simples 4-28 SQL Server Prácticas – Crear consultas que requieran el uso de funciones numéricas, fecha y caracter – Ejecutar cálculos sobre fechas – Verificar la fecha de ingreso de los empleados
  29. 29. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-29 Práctica 4 1. Haga una consulta para desplegar la fecha actual. 2. Cree un query para mostrar el número de empleado, el nombre salarioy el salario incrementado en 15%. Guarde su consulta como s04q02.sql 3. Modifique el query s04q02.sql para agregar una columna adicional, en la que obtenga el monto del incremento del salario. Date --------------------------- 1999-03-18 15:14:54.290 empno ename sal New Salary Increase ------ ---------- --------- ------------- -------------- 7369 SMITH 800.00 920.0000 120.0000 7499 ALLEN 1600.00 1840.0000 240.0000 7521 WARD 1250.00 1437.5000 187.5000 7566 JONES 2975.00 3421.2500 446.2500 7654 MARTIN 1250.00 1437.5000 187.5000 7698 BLAKE 2850.00 3277.5000 427.5000 7782 CLARK 2450.00 2817.5000 367.5000 7788 SCOTT 3000.00 3450.0000 450.0000 7839 KING 5000.00 5750.0000 750.0000 7844 TURNER 1500.00 1725.0000 225.0000 7876 ADAMS 1100.00 1265.0000 165.0000 7900 JAMES 950.00 1092.5000 142.5000 7902 FORD 3000.00 3450.0000 450.0000 7934 MILLER 1300.00 1495.0000 195.0000 empno ename sal New Salary ------ ---------- --------- ------------- 7369 SMITH 800.00 920.0000 7499 ALLEN 1600.00 1840.0000 7521 WARD 1250.00 1437.5000 7566 JONES 2975.00 3421.2500 7654 MARTIN 1250.00 1437.5000 7698 BLAKE 2850.00 3277.5000 7782 CLARK 2450.00 2817.5000 7788 SCOTT 3000.00 3450.0000 7839 KING 5000.00 5750.0000 7844 TURNER 1500.00 1725.0000 7876 ADAMS 1100.00 1265.0000 7900 JAMES 950.00 1092.5000 7902 FORD 3000.00 3450.0000 7934 MILLER 1300.00 1495.0000
  30. 30. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-30 Práctica 4 (continuación) 4. Muestre el nombre de empleado, fecha de ingreso expresada como se muestra en el ejemplo. 5. Muestre el nombre de empleado y número de meses trabajados hasta la fecha, para aquellos que pertenecen al departamento 30, ordenado por los meses trabajados y por nombre. ename Months Worked ---------- ------------- JAMES 207 MARTIN 210 TURNER 210 BLAKE 214 ALLEN 217 WARD 217 ename Hire Date ---------- ------------------------- SMITH Miércoles, Dic 17 1980 ALLEN Viernes, Feb 20 1981 WARD Domingo, Feb 22 1981 JONES Jueves, Abr 2 1981 MARTIN Lunes, Sep 28 1981 BLAKE Viernes, May 1 1981 CLARK Martes, Jun 9 1981 SCOTT Jueves, Dic 9 1982 KING Martes, Nov 17 1981 TURNER Martes, Sep 8 1981 ADAMS Miércoles, Ene 12 1983 JAMES Jueves, Dic 3 1981 FORD Jueves, Dic 3 1981 MILLER Sábado, Ene 23 1982
  31. 31. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-31 Práctica 4 (continuación) 6. Haga una consulta que dibuje una gráfica mostrando el nivel de ingresos del empleado, como se muestra. ename sal ---------- --------- ---------------------------------------------------- SMITH 800.00 ******** ALLEN 1600.00 **************** WARD 1250.00 ************ JONES 2975.00 ***************************** MARTIN 1250.00 ************ BLAKE 2850.00 **************************** CLARK 2450.00 ************************ SCOTT 3000.00 ****************************** KING 5000.00 ************************************************** TURNER 1500.00 *************** ADAMS 1100.00 *********** JAMES 950.00 ********* FORD 3000.00 ****************************** MILLER 1300.00 ************* 7. Escriba una consulta que muestre el nombre “tipo oración” (la primer letra mayúscula y el resto en minúsculas) y la longitud del nombre, para aquellos empleados cuyo nombre empiece ya sea con J, A o M. Name Length ----------- ----------- Allen 5 Jones 5 Martin 6 Adams 5 James 5 Miller 6
  32. 32. M.C. Luis Antonio Gama Moreno Introducción a SQL-Server 4-32 Práctica 4 (continuación) 8. Muestre el nombre, la fecha de ingreso en formato (dd/mm/yyyy) y el nombre del día en el que ingresó. ename Hire Date Day of week ---------- ---------- ------------------------------ SMITH 17/12/1980 Wednesday ALLEN 20/02/1981 Friday WARD 22/02/1981 Sunday JONES 02/04/1981 Thursday MARTIN 28/09/1981 Monday BLAKE 01/05/1981 Friday CLARK 09/06/1981 Tuesday SCOTT 09/12/1982 Thursday KING 17/11/1981 Tuesday TURNER 08/09/1981 Tuesday ADAMS 12/01/1983 Wednesday JAMES 03/12/1981 Thursday FORD 03/12/1981 Thursday MILLER 23/01/1982 Saturday 9. Haga una consulta que muestre la comisión de los empleados. Si el empleado no tiene muestre el mensaje “No commission”. ename Comm ---------- --------------- SMITH No Commission ALLEN 300.00 WARD 500.00 JONES No Commission MARTIN 1400.00 BLAKE No Commission CLARK No Commission SCOTT No Commission KING No Commission TURNER 0.00 ADAMS No Commission JAMES No Commission FORD No Commission MILLER No Commission

×