Sei sulla pagina 1di 2

Scripts

--implementar un script que permita mostrar la fecha en texto registrada en la tabla


RESERVA
use dbreserva
select
*,
cast (day(fecha) as char (2))+ case month (fecha)
when 1 then 'Enero' when 1 then 'Febrero' when 1
then 'Marzo' when 1 then 'Abril' when 1 then
'Mayo' when 1 then 'Junio' when 1 then 'Julio'
when 1 then 'Agosto' when 1 then 'Septiembre'
when 1 then 'Octubre' when 1 then 'Noviembre'
when 1 then 'Diciembre' end
+ cast (year(fecha) as char(4)) as [Fecha Texto]
from reserva go

--2 Implementar un script que permita mostrar el numero total de pasajeros por pais
y el mensaje
--NO CUENTA solo a los paises cuyo numero de pasajeros sea cero
select pai.nombre as [Pais], count (pas.idpasajero) as [Total
Pasajeros], case when count (pas.idpasajero)=0 then 'NO CUENTA' else ''
end as [Mensaje]
from pais pai left join PASAJERO pas on pas.idpais=pai.idpais
group by pai.nombre go

--implementar un script que permita mostrar los numeros pares consecutivos del 1 al
100
declare @n int =0
while (@n<100)
begin set
@n=@n+1
if(@n%2=0)
print 'Valor N:' + cast (@n as char(3))
end go

--implementar un scrpit que permita aumentar en 10% el costo de las tarifas solo sii
el
--promedio de este no supera los 2000, cuando se termine de actualizar dichos
valores mostrar
--el mensaje "YA NO HAY MAS QUE ACTUALIZAR" while
(select avg (precio) from TARIFA)<2000 begin
update TARIFA set precio=precio*1.10
if(select max(precio) from TARIFA)>2000
break else continue end
print 'YA NO HAY MAS QUE
ACTUALIZAR' go

--implementar un funcion que devuelve el promedio de dos numeros


--ingresados por el usuario create
function calcularpromedio
(@valor1 as decimal(10,2),@valor2 as decimal(10,2)
RETURNS decimal(10,2)
as begin
declare @resultado decimal (10,2) set
@resultado=(@valor1+@valor2)/2
RETURN @resultado end
select dbo.calcularpromedio(12,13) as char (12)
go

--implementar una funcion que devuelva una fecha ingresada en letras


if object_id('fechaletras') is not null begin
drop function fechaletras end go
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
select dbo.fechaletras('2015-08-08') as [Fecha Actualizada]
go
select nombre,apaterno,dbo.fechaletras(fecha_nacimiento) as [Fecha Nacimiento] from
PASAJERO

--implementar una funcion de tabla en linea que muestre los registros de la tabla
pasajero
--dependiento del pais de proveniencia

CREATE FUNCTION pasajerosxpais


(@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
pas.idpais=pai.idpais where pai.nombre=@pais)

select *from dbo.pasajerosxpais('Peru')

Potrebbero piacerti anche