Está en la página 1de 4

Clase 3 – Tarea Scrip

Select distinct NumeroMes,


Trimestre = case when NumeroMes in (1,2,3) then 'Q1'
when NumeroMes in (4,5,6) then 'Q2'
when NumeroMes in (7,8,9) then 'Q3'
else 'Q4'
end
from date
order by NumeroMes

-- iff
--Pide 3 argumentos
--1 Condicion, 2 Si se cumple, 3 Si no se cumple

--Case
--Si tenemos que utiliza mas de tres condiciones se utiliza Case, la cual es una
funcion que permite agregar un valor segun un dato que tengamo
-- Siempre va acompañado de un when y puede tener n cantidad de when y un then
--Y se acompaña con un else
-- Y termina con un end

--Choose-- se utiliza para numeros enteros y que tienen una secuencia

Select distinct NumeroMes,


choose(NumeroMes,'Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','
Dic')
from date
order by NumeroMes

--Funciones para valores nulos (campos sin datos)


-- iss null

Select *
from date
where mes is null

--isnull

Select SaldoDolarizado = case when Moneda = 'CRC' then Saldo/isnull(TipoCambio,650),


else Saldo
end

Select ColorName,
count (distinct ClassName)
from Product
Group by ColorName
order by count (1) desc

-- Funciones de fechas
--year --Month --day

Select Fecha,
year (Fecha) Año,
month (Fecha) Mes,
day (Fecha) Dia
from Date
--DatePart -- Funciona para extraer informacion de un campo fecha
-- Solicita dos argumentos
--1 Parametro
--2 Campo

Select Fecha,
Año = datepart(yy,Fecha),
Trimestre = datepart (q,Fecha),
Mes = datepart (mm,Fecha),
Dia_año = datepart (dayofyear,Fecha),
Semana = datepart (wk,Fecha),
Dia_Semana = datepart (dw,Fecha)
from date

-- datename --dias y meses


-- 2 argumentos
-- 1 parametro
-- 2 campo

Select fecha, datename (mm,Fecha) Mes, datename (weekday,Fecha) dia_semana


from date

--dateadd - sumar o agregar valores a un campo


-- 3 argumentos
-- 1 Parametro
-- 2 Cantidad
-- 3 Campo

Select Fecha,
dateadd (dd,8,Fecha) sumar8dias,
dateadd (mm,8,Fecha) sumar8meses,
dateadd (yy,8,Fecha) sumar8años
from date

--getdate: extrae la fecha actual del servidor

Select getdate() -- ejemplo mostraria los datos al dia que realizamos el analisis

--dateiff: Para obtener diferencias entre dos fechas


-- 3 argumentos
-- 1 Parametro
-- 2 Fecha incial
-- 3 Fecha final o cercana

Select StartDate,EndDate,datediff(yy,StartDate,EndDate) Cantidad_Años


from Promotion

-- dias, meses, semanas, diasahoy

Select Date,
datediff(yy,StartDate,EndDate) Cantidad_Años
from Promotion

--datefromparts -- para crear una fecha


-- 3 argumentos
-- 1 año
-- 2 mes
-- 3 dia

Select DATEFROMPARTS(año,NumeroMes,Dia) Fecha


from date

--eomonth : convierte cualquier fecha del mes al ultimo dia del mes

Select Fecha, eomonth (Fecha)


from date

--is date : se utiliza para validaciones

Select isdate ('Hola')


Select isdate ('2020/02/30')--Aunque parece correcta, no existe esta fecha
Select isdate ('2020/01/01')

-- Funciones de Texto
--Concat: Funciona para unir varios campos a la vez

Select CampoConcatenado = concat(BrandName,' - ',ColorName,' - ',ClassName,'


- ',Manufacturer,' - ',StyleName,' - ')
from Product

--concat_ws : lo realiza para todos


Select concat_ws(' / ',BrandName,ColorName,ClassName,Manufacturer,StyleName)
from Product

--space:Para agregar espacios y se le puede indicar la cantidad

Select ProductName,concat(space(10),ProductName)
from Product

--ltrim: Para quitar espacios

Select ProductName,ltrim(concat(space(10),ProductName))
from Product

--rtrim

Select ProductName,rtrim(ProductName)
from Product

--Trim

Select ProductName,trim(ProductName)
from Product

--Len: Cantidad de caracteres que posee un campo ejemplo Largo en excel


--Solo pide 1 argumento y este es el campo al cual queremos contarle los caracteres

Select StoreName, len (StoreName)


from Stores

--Charindex: Para buscar la poscicion en donde se encuentra un caracter en


especifico

Select StoreName, charindex (' ',StoreName,9)


from Stores
--Substring
-- 3 argumentos
-- 1 campo
-- 2 poscicion inicial
-- 3 cantidad de caracteres

Select StoreName, SUBSTRING(StoreName,9,7)


from Stores

--Extraer solo el nombre de la tienda

Select StoreName, substring (StoreName,8,10) Nombre_Tienda


from Stores

También podría gustarte