SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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
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
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.
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.
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.
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
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.
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;
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
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 .
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.
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.
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.
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.
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.
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
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
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.
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.
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
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.
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.
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
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.
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).
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.
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
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
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
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
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
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

Más contenido relacionado

Similar a Capitulo iv

Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012SolidQ
 
Sql basico parte_ii_
Sql basico parte_ii_Sql basico parte_ii_
Sql basico parte_ii_Luis Jherry
 
11 Guía_Fundamentos de Base de Datos.docx
11 Guía_Fundamentos de Base de Datos.docx11 Guía_Fundamentos de Base de Datos.docx
11 Guía_Fundamentos de Base de Datos.docxLeydyVeronicaDelgado
 
Sql basico parte_ii_
Sql basico parte_ii_Sql basico parte_ii_
Sql basico parte_ii_Luis Jherry
 
Open office calc
Open office calcOpen office calc
Open office calcrubenda1994
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)José Toro
 
5 mejoras en-rendimiento Oracle 10g
5 mejoras en-rendimiento Oracle 10g5 mejoras en-rendimiento Oracle 10g
5 mejoras en-rendimiento Oracle 10gtoniafillol
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddlyehisam
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddlyehisam
 
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window Functions
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window FunctionsSQLSaturday Guatemala - SOS de Alto de rendimiento con Window Functions
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window FunctionsJOSE AHIAS LOPEZ PORTILLO
 
Sql Saturday Guatemala 2018-Mas rápido y Mas Furioso Windowing Functions & Co...
Sql Saturday Guatemala 2018-Mas rápido y Mas FuriosoWindowing Functions & Co...Sql Saturday Guatemala 2018-Mas rápido y Mas FuriosoWindowing Functions & Co...
Sql Saturday Guatemala 2018-Mas rápido y Mas Furioso Windowing Functions & Co...JOSE AHIAS LOPEZ PORTILLO
 

Similar a Capitulo iv (20)

Curso SQL - Leccion 4
Curso SQL - Leccion 4 Curso SQL - Leccion 4
Curso SQL - Leccion 4
 
103305862 t-sql
103305862 t-sql103305862 t-sql
103305862 t-sql
 
t-sql
t-sqlt-sql
t-sql
 
Amnel
AmnelAmnel
Amnel
 
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 2) | SolidQ Summit 2012
 
Sql
SqlSql
Sql
 
Sql basico parte_ii_
Sql basico parte_ii_Sql basico parte_ii_
Sql basico parte_ii_
 
Curso SQL - Leccion 5
Curso SQL - Leccion 5Curso SQL - Leccion 5
Curso SQL - Leccion 5
 
11 Guía_Fundamentos de Base de Datos.docx
11 Guía_Fundamentos de Base de Datos.docx11 Guía_Fundamentos de Base de Datos.docx
11 Guía_Fundamentos de Base de Datos.docx
 
SISTEMAS
SISTEMASSISTEMAS
SISTEMAS
 
Tema 1 Parte 3.pdf
Tema 1 Parte 3.pdfTema 1 Parte 3.pdf
Tema 1 Parte 3.pdf
 
Sql basico parte_ii_
Sql basico parte_ii_Sql basico parte_ii_
Sql basico parte_ii_
 
Lecc01
Lecc01Lecc01
Lecc01
 
Open office calc
Open office calcOpen office calc
Open office calc
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
5 mejoras en-rendimiento Oracle 10g
5 mejoras en-rendimiento Oracle 10g5 mejoras en-rendimiento Oracle 10g
5 mejoras en-rendimiento Oracle 10g
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window Functions
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window FunctionsSQLSaturday Guatemala - SOS de Alto de rendimiento con Window Functions
SQLSaturday Guatemala - SOS de Alto de rendimiento con Window Functions
 
Sql Saturday Guatemala 2018-Mas rápido y Mas Furioso Windowing Functions & Co...
Sql Saturday Guatemala 2018-Mas rápido y Mas FuriosoWindowing Functions & Co...Sql Saturday Guatemala 2018-Mas rápido y Mas FuriosoWindowing Functions & Co...
Sql Saturday Guatemala 2018-Mas rápido y Mas Furioso Windowing Functions & Co...
 

Último

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (20)

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

Capitulo iv

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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