Top Ad unit 728 × 90

Recientes

recent

Funciones Sql Server - Bases de Datos en Microsoft Sql Server 2014 (32-35)


Buen día amigos de IncanatoIt, continuamos en este curso de base de datos en Microsoft Sql Server 2014, en este artículo trabajaremos con funciones en sql server.

Puedes seguir el curso Completo desde:

Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:

Programación Transact SQL

Scripts
Procedimientos Almacenados
Funciones
Triggers

Funciones
Rutina almacenada que recibe unos parámetros escalares de entrada, luego los procesa según el cuerpo definido de la función y por último retorna un resultado de un tipo especifico que permitirá cumplir un objetivo.
SQL Server proporciona numerosas funciones integradas y permite crear funciones definidas por el usuario.

Tipos de Funciones

Funciones del Sistema:
SQL Server cuenta con una gran variedad de funciones dependiendo de los valores o configuraciones que deseamos realizar, a continuación mostramos algunas funciones del sistema:
  • Funciones de Agregado: SUM, AVG, COUNT,MAX, MIN
  • Funciones de Fecha y Hora: GETDATE, DAY, MONTH, YEAR, DATEADD, DATEDIF, ISDATE
  • Funciones Matemáticas: ABS, RAND, LOG10, SQRT, POWER, TAN, PI, RADIANS
Funciones definidas por el usuario:
Las funciones definidas por el usuario de SQL Server son rutinas que aceptan parámetros, realizan una acción, como un cálculo complejo, y devuelven el resultado de esa acción como un valor (único o conjunto de valores).

Funciones - Sintáxis

Create Function Nombre_Función 
(@parámetro1 as  [Tipo Dato] = [ValorxDefecto],
@parámetroN as  [Tipo Dato] = [ValorxDefecto])
RETURNS TipoDato_Returnado
AS
 BEGIN
  <Instrucciones>
  RETURN Expresión_salida
 END

Ejemplos

Ejemplo 1:
Implementar una función que devuelva el promedio de dos números ingresados por el usuario.

--Evaluamos primero si ya existe la función

--que queremos implementar si ya existe la eliminamos

IF object_id('calcularpromedio') is not null

BEGIN

     DROP FUNCTION dbo.calcularpromedio

END

go

--Implementamos la función con dos parámetros de entrada

CREATE FUNCTION calcularpromedio

(@valor1 as decimal(10,2),@valor2 decimal(10,2))

RETURNS decimal(10,2)

AS

BEGIN

     DECLARE @resultado decimal(10,2)

     SET @resultado=(@valor1+@valor2)/2

     RETURN @resultado

END

GO

--Ejecutamos la función con un select y le enviamos

--los dos parámetros de entrada (DBO es el nombre del propietario)

select dbo.calcularpromedio(12,13) as Promedio

--Ejecutamos la función con un print y le enviamos

--los dos parámetros de entrada
print 'Promedio: ' + cast(dbo.calcularpromedio(12,13) as Char(10))

Ejemplo 2:
Implementar una función que devuelva el nombre de un mes en letras según una fecha ingresada por el usuario.

Tabla Pasajero - País - Pago


--Evaluamos primero si ya existe la función

--que queremos implementar, si ya existe la eliminamos

IF object_id('fechaletras') is not null

BEGIN

     DROP FUNCTION dbo.fechaletras

END

go

--Implementamos la función con un solo parámetro de entrada

CREATE FUNCTION fechaletras (@fecha as DATE)

RETURNS varchar(20)

AS

BEGIN

     DECLARE @resultado varchar(20)

     SET @resultado=concat(day(@fecha),' de ',datename(month,@fecha),

     ' del ',year(@fecha))

    

     RETURN @resultado

END

GO

--Ejecutamos la función con un select y le enviamos

--el parámetro de entrada

select dbo.fechaletras('2015-08-08') as [Fecha Actual]


select dbo.fechaletras(pag.fecha) as Fecha,
(pas.nombre + ' ' +pas.apaterno) as pasajero,
pag.tipo_comprobante,pag.num_comprobante
from pago pag inner join pasajero pas
on pag.idpasajero=pas.idpasajero
go

Ejemplo 3:
Implementar una función de tabla en línea que muestre los registros de la tabla pasajero dependiendo del país de proveniencia.

Tabla Pasajero - País

--Evaluamos primero si ya existe la función

--que queremos implementar, si ya existe la eliminamos

IF object_id('pasajeroxpais') is not null

BEGIN

     DROP FUNCTION dbo.pasajeroxpais

END

go

--Implementamos la función con un solo parámetro de entrada

CREATE FUNCTION pasajeroxpais (@pais as varchar(30))

RETURNS TABLE

AS

     RETURN (SELECT pas.idpasajero,(pas.nombre + ' ' +

     pas.apaterno) as Pasajero,pai.nombre as Pais

     from pasajero pas inner join pais pai

     on pai.idpais=pas.idpais

     where pai.nombre=@pais)



GO

--Ejecutamos la función con un select,

--Mostraremos los pasajeros del país Perú

select * from dbo.pasajeroxpais('Perú')

go


Funciones (32-35) Bases de Datos en Microsoft Sql Server 2012


Funciones Sql Server - Bases de Datos en Microsoft Sql Server 2014 (32-35) Reviewed by IncanatoIt-ad on 10:30 Rating: 5

4 comentarios:

  1. Que conviene en este caso una función o un procedimiento almacenado?

    ResponderEliminar
  2. Hola Carlos eres exelente que Dios te bendiga
    Tengo un problema para descargar la Base de Datos

    ResponderEliminar
  3. buenas tardes, haces unos excelentes vídeo y muy didácticos, me suscribí a tu canal y ver otros vídeos tuyos, y de paso tengo este problema en una función escalar, quizá me puedas ayudar por favor.
    "Crear una función que permita ingresar dos parámetros, el cual digite un rango de meses,
    mes 1 hasta el mes 7, la función debe devolver cuantos pacientes nacieron en estos
    meses."

    ResponderEliminar

Todos los derechos reservados www.IncanatoIT.com - Desarrollando Software © 2014 - 2019
Desarrollado por Blogger, Designed by Sweetheme
IncanatoIt.com. Con la tecnología de Blogger.
y>