Está en la página 1de 3

--GETDATE: Obtiene la fecha del Servidor

--SYSDATETIME: Fecha y Hora del Servidor


SELECT GETDATE() AS 'Fecha Actual',SELECT SYSDATETIME() AS 'Fecha Sistema'

--DATENAME: Nombre de parte de la fecha determinada


--Año, nombre del mes y nombre del día
SELECT DATENAME(yy,Getdate()) AS Año,
DATENAME(mm,Getdate()) AS Mes,
DATENAME(dw,Getdate()) AS Día

--Día del mes y día del año (hasta 365)


SELECT DATENAME(dd,Getdate()) AS Día_del_mes, DATENAME(dy,Getdate()) AS Día_del_año

--DATEPART: Parte de la fecha


--Semana del año (De 1 a 52) y número de día de la semana
SELECT DATEPART(wk, GetDate()) AS 'Semana', DATEPART(dw, GetDate()) AS 'Día'
SELECT DATEPART(wk, '2020/06/13') AS 'Semana', DATEPART(dw, '2020/06/13') AS 'Día'

--DATEADD: Añade partes de fecha a una fecha determinada


--Agregando 60 días a la fecha actual
SELECT DATEADD(d,60,GetDate())

SELECT DATEDIFF(day, '06-12-1999', '06-12-2000')

SELECT title_id, title, DATENAME(month, pubdate) AS 'Publication Month' FROM titles

CREATE TABLE dbo.test


(
ColDatetimeoffset datetimeoffset
)

INSERT INTO dbo.test VALUES (GETDATE());


select *from test

SELECT SWITCHOFFSET (ColDatetimeoffset, '-08:00') as 'Fecha en nuevo formato' FROM


dbo.test;

---------------------------------------- FUNCIONES MATEMATICAS


----------------------------------------

--ROUND: Reporta una expresión numperica redondeada en n decimales


--Redondear los valores 345.6763 en 3 decimales y 2348.56983 en 2 decimales
SELECT ROUND(345.6763, 3), ROUND(2348.56983, 2);

--FLOOR: Reporta el entero menor o igual que la expresión numérica especificada


--Reportar el mayor entero de 25.86, -45.96 y $12.02
SELECT FLOOR(25.86), FLOOR(-45.96), FLOOR($12.02)

--Mostrar los signos de los números desde -2 hasta 2


DECLARE @Valor real
SET @Valor = -2
WHILE @Valor <= 2
BEGIN
SELECT SIGN(@Valor)
SELECT @Valor = @Valor + 1
END

SELECT PI() AS 'Valor'

SELECT 'El valor en RADIANES de 90 es: ' + CONVERT(varchar, RADIANS(90))

--truncate(x,d): retorna el número "x", truncado a "d" decimales. Si "d" es 0, el


resultado no tendrá parte fraccionaria.
select truncate(123.4567,2)

SELECT 'El valor e elevado al cuadrado es' + CONVERT(varchar, EXP(2))

use prueba
create table libro
(
Nombre varchar(30),
Precio decimal(6,2)
)

insert into libro (Nombre,Precio) values ('Principito',25.33)


insert into libro (Nombre,Precio) values ('El alquimista',55.46)
insert into libro (Nombre,Precio) values ('Paprika',320.17)
insert into libro (Nombre,Precio) values ('Master Chef',34.98)

select Nombre,Precio,
floor(Precio) as Limite_Inferior,
ceiling(Precio) as Limite_Superior
from libro

--Floor (piso) – Obtiene el “piso” de un núm

---------------------------------------- FUNCIONES EN CADENA


----------------------------------------

--UPPER: Convierte a mayúsculas


--LTRIM: Elimina espacios en blanco iniciales
--STR: Convierte un dato a tipo cadena de caracteres
--SPACE: Devuelve una cadena de espacios
--LOWER: Convierte a minúsculas
--Concatenar
SELECT UPPER('Alberto debe ') + LTRIM(STR(800)) + SPACE(1) + lOWER('dólares')

--REVERSE: Invierte la cadena de caracteres.


SELECT REVERSE('Un gestor de base de datos')

--REMPLACE: Reemplaza la letra a por el número 4


SELECT REPLACE('Este mensaje es el original','e','3')

print(ASCII('A'));

SELECT TRIM(' Ejemplo') AS SinEspacios


---------------------------------------- FUNCIONES DEL SISTEMA
----------------------------------------

--Devuelve un nombre de usuario de base de datos a


--partir de un número de identificación especificado
SELECT USER_NAME()

--Devuelve el nombre de la estación de trabajo


SELECT HOST_NAME()

--Devuelve el número de bytes utilizados para


--representar cualquier expresión
SELECT DATALENGTH('Hola Mundo')

-- Verifica que el procedimiento almacenado no exita en la BD


IF OBJECT_ID ( 'EjemploProc') IS NOT NULL
DROP PROCEDURE EjemploProc;
GO

-- Creación de un procedimiento almacenado que generará el error de división


CREATE PROCEDURE EjemploProc
AS
SELECT 1/0;
GO

BEGIN TRY
-- Ejecutá el procedimiento almacenado adentro del bloque TRY
EXECUTE EjemploProc;
END TRY
BEGIN CATCH
SELECT ERROR_PROCEDURE() AS ErrorProcedimiento;
END CATCH;
GO

También podría gustarte