miércoles, 23 de noviembre de 2016

-------------------------------
--FUNCIONES SQL
---------------------------------
----Funciones numericas o matematicas
--ROUND(numero_dec,cant_dec)
select round(3634.8274,2)as redondeo,
sqrt(9)as raiz_cuadrada,--/saca raiz cuadrada
power(4,3) as potencia
go


select 'estudio'+'en '+'cibertec' as titulo
go

--funciones de cadena
----------------------------

--Len (cadena)---tamaño de la cedena
select len('instituto cibertec perú')as tamaño
go

--left(cadena #)--extrae desde la izquierda el numero indicado de caracteres
select left('cibertec',5) as primero_5_caracteres
go

--right(cadena, #)
select right('cibertec',5)as ultimo_5_caracteres
go

--substring(cadena,ini,#)
select substring('cibertec',3,3)
as desde_pos_3_extraer_3_caracteres
go

--charindex(Buscar,cadena)
select charindex('T','Cibertec')
as posicion_de_letra_t
go
-----------------------------------------------
--Funciones De Fecha
--------------------------------------------
SELECT GETDATE() AS HOY--RETORNA FECHA DEL EQUIPO
GO

--DAY(VAR_FECHA)
--MONTH(VAR_FECHA)
--YEAR(VAR_FECHA)

SELECT DAY(GETDATE())AS DIA,MONTH('24/12/2000') AS MES,
YEAR('29/02/2004') AS AÑO
GO

--DATEPART('prefijo',var_fecha)
--PREFIJOS SON: HH,dd,mm,yy,mi,ss,dy,dw,qq
SELECT DATEPART(HH,GETDATE()) AS HORA,
DATEPART(MI,GETDATE())AS MINUTO,
DATEPART(SS,GETDATE())AS SEGUNDOS
GO

SELECT DATEPART(DY,GETDATE())AS DIA_AÑO,
DATEPART(DW,GETDATE())AS DIA_SEMANA,
DATEPART(WW,GETDATE())AS NRO_SEMANA
GO


--DATENAME('PREFIJO',VAR_FECHA)
SELECT DATENAME(DW,GETDATE())AS NOM_DIA_SEMANA,
DATENAME(MM,GETDATE())AS NOM_MES,
DATENAME(YY,GETDATE())AS NOM_AÑO,
DATENAME(DD,GETDATE())AS NOM_DIA
GO



--DATEADD(PREFIJO,#,VAR_FECHA)
SELECT DATEADD(DD,238,GETDATE())AS DENTRO_238_DIAS,
DATEADD(DD,-283,GETDATE())AS HACE_238_DIAS,
DATEADD(MM,238,GETDATE())AS DENTRO_DE_238_MESES
GO

--DATEDIFF(PREFIJO,FECHA1,FECHA2)
--DONDE FECHA1 <FECHA2

SELECT DATEDIFF(DD,'14/07/1999',GETDATE())AS DIAS_VIVIDOS,
DATEDIFF(DD,GETDATE(),'24/12/2016') AS DIAS_FALTAN_NAVIDAD
GO
--------------------------------------------------
--FUNCIONES DE CONVERSION
-------------------------------------------------
--CAST(VALOR_A_CONVERTIR AS TIPO DE DATO)
SELECT CAST(GETDATE() AS VARCHAR(12)) AS FECHA_CAST,
CAST(6892.6523 AS INT ) AS ENTERO
GO


--CONVERT(TIPO_DATO,VALOR_A_CONVERTIR[,ESTILO_FECHAS])
SELECT CONVERT(VARCHAR(12),GETDATE()) AS FECHA_CONVERT,
CONVERT(VARCHAR(12),GETDATE(),3) AS FECHA_CONVERT2,
CONVERT(VARCHAR(12),GETDATE(),103)AS FECHA_CONVERT3,
CONVERT(INT, 6892.6523) AS ENTERO
GO





SELECT TOP(3) B.NUM_BOLETA,B.FECHA_EMI,B.COD_EMPLE,B.ID_CLIENTE,
C.NOMBRES+', '+C.APELLIDOS AS NOMBRE_COMPLETO
FROM BOLETA B INNER JOIN CLIENTE C
ON B.ID_CLIENTE=C.ID_CLIENTE
WHERE YEAR(B.FECHA_EMI)=2016
ORDER BY B.NUM_BOLETA ASC
GO


CREATE
PROC usp_producto AS
SELECT ID_PRODUCTO,DESCRIPCION,PRECIO_VENTA,
CASE
WHEN PRECIO_VENTA=30 THEN 'precio normal'
WHEN PRECIO_VENTA<30 THEN 'precio en oferta'
WHEN PRECIO_VENTA>30 THEN 'precio elevado'
END AS ESTADO FROM PRODUCTO

GO

EXECUTE usp_producto
GO

****************************************************
create proc usp_listado_empleado_por_codigo
@cod_empleado char(5)
as
if exists(select * from EMPLEADO where COD_EMPLE=@cod_empleado)
begin
select * from EMPLEADO where COD_EMPLE=@cod_empleado
end
else
begin
print 'No existe empleado'
end
go

No hay comentarios.:

Publicar un comentario