2015/02/09

MATH FUNCTIONS

Es uno de los temas importantes que se requieren al menos darle una leída para presentar el examen de certificación 70-461 o al menos tener conocimiento que estan presentes y podemos utilizarlas, veamos rápidamente algunas funciones.

ACOS
Función trigonométrica conocida como ARCOCOSENO, devuelve un valor expresado en radianes, los valores introducidos deben ser entre -1 y 1, lo que yo hago es pasarle el valor resultado de la función COS
ASIN
Función trigonométrica conocida como ARCOSENO, devuelve un valor expresado en radianes, los valores introducidos deben ser entre 1 y -1, al igual que el anterior yo le introduzco el valor resultado de la función SIN.
ATAN
Función trigonométrica conocida como ARCOTANGENTE, también devuelve un valor expresado en radianes, de la misma forma los valores introducidos deben estar entre 1 y -1, puede ser el resultado de la función TAN.
ATN2
Seré sincero, esta función no comprendí que es lo que obtiene, solo que a través de dos valores dados, devuelve un resultado en radianes, hasta ahorita no lo he ocupado.
COS
Función trigonométrica conocida como COSENO que devuelve un resultado en radianes a partir de un ángulo dado.
COT
Función trigonométrica conocida como COTANGENTE que devuelve un resultado en radianes a partir de un ángulo dado.
SIN
Función trigonométrica conocida como SENO, que devuelve un resultado en radianes a partir de un ángulo dado.
TAN
Función trigonométrica conocida como TANGENTE que devuelve un resultado en radianes a partir de un ángulo dado.

Como nota, las funciones trigonométricas SECANTE y COSECANTE, no existe una función en SQL SERVER que obtenga los valores pero los podemos obtener si dividimos 1/COSENO y 1/SENO respectivamente, veamos los ejemplos para todas estas funciones. La cadena que se representa como ********** indica un valor infinito.
;WITH cte AS(
 SELECT 0 AS grados
 UNION ALL 
 SELECT grados+15
 FROM cte
 WHERE grados < 360
) 

SELECT grados
, RADIANS( grados*1.0 ) AS rads
, STR( SIN( RADIANS( grados*1.0 )  ) , 10,7 )  AS seno
, STR( COS( RADIANS( grados*1.0 )  ) , 10,7 )  AS coseno
, STR( TAN( RADIANS( grados*1.0 )  ) , 10,7 )  AS tangente
, STR( SIN( RADIANS( grados*1.0 )  )/COS( RADIANS( grados*1.0 )  ) , 10,7 )  AS tangente2
, IIF( grados=0 , '**********', STR( COT( RADIANS( grados*1.0 )  ) , 10,7 )  )AS cotangente
, IIF( grados=0 , '**********', STR( 1/COS( RADIANS( grados*1.0 )  ) , 10,7 ) )  AS secante
, IIF( grados=0 , '**********', STR( 1/SIN( RADIANS( grados*1.0 )  ) , 10,7 ) )  AS cosecante
, STR( ASIN( SIN( RADIANS( grados*1.0 )  ) ) , 10,7 )  AS arcoseno
, STR( ACOS( COS( RADIANS( grados*1.0 )  ) ) , 10,7 )  AS arcocoseno
, STR( ATAN( TAN( RADIANS( grados*1.0 )  ) ) , 10,7 )  AS arcocoseno
FROM cte
OPTION ( MAXRECURSION 0)

DEGREES
Devuelve un valor expresado en grados de un valor ingresado en radianes, el ejemplo lo realizaremos junto con otras funciones similares.
RADIANS
La operación inversa a la función anterior, se ingresa un valor en grados y devuelve un valor en radianes.
PI
El famoso número PI ( 3.14159 ), Ahora si vamos a los ejemplos:
; WITH cte AS(
 SELECT 0 AS grados 
 UNION ALL 
 SELECT grados+15 
 FROM cte
 WHERE grados < 360
) 

SELECT grados , PI() AS valorPI
, ( grados/180.0 ) * PI()  AS radianes1
, RADIANS( grados*1.0 )  AS radianes2
, DEGREES( ( grados/180.0 ) * PI()  ) AS grados1
, DEGREES( RADIANS( grados*1.0 )  ) AS grados2

FROM cte
OPTION ( MAXRECURSION 0);

ABS 
Sirve para obtener el valor absoluto ( positivo ) de cualquier número.
SIGN
Sirve para obtener si un número dado es positivo(1), negativo(-1) o ninguno de los 2(0). Vamos a los ejemplos:
; WITH cte AS(
 SELECT -10 AS valor
 UNION ALL 
 SELECT valor+1 
 FROM cte
 WHERE valor < 20
) 
SELECT valor 
, ABS( valor ) AS vABS
, SIGN( valor ) AS vSIGN
FROM cte;

EXP
Es el número e elevado a la potencia ingresada como parámetro a la función.
LOG
Obtiene el logaritmo natural de un valor ingresado.
LOG10
Obtiene el logaritmo base 10 de un valor ingresado, vamos a los ejemplos de estas 3 funciones.
; WITH cte AS(
 SELECT 1 AS valor
 UNION ALL 
 SELECT valor+1 
 FROM cte
 WHERE valor < 20
) 
SELECT valor , EXP( valor ) AS vEXP 
, LOG( valor ) AS vLOG
, LOG10( valor ) AS vLOG10
FROM cte;

CEILING
En otras palabras, es el famoso redondeo al entero más próximo y que sea mayor a la cantidad dada, por ejemplo
SELECT CEILING(322.01), CEILING(322.1)
,CEILING(322.455),CEILING(322.801)
, CEILING(-322.45), CEILING(322.0);

FLOOR
Es la operación inversa a la función CEILING, realiza un redondeo pero hacia el entero anterior, un ejemplo:
SELECT FLOOR(32.45), FLOOR(32.45)
, FLOOR(32.45), FLOOR(32.54), FLOOR(32.99999) ;

ROUND
Otra función de redondeo, solo que se puede agregar la posición a partir de la cual se puede redondear… veamos un ejemplo:
SELECT ROUND( 654321.123456 , 6  ) AS derechoDecimal6
, ROUND( 654321.123456 , 5  ) AS derechoDecimal5
, ROUND( 654321.123456 , 4  ) AS derechoDecimal4
, ROUND( 654321.123456 , 3  ) AS derechoDecimal3
, ROUND( 654321.123456 , 2  ) AS derechoDecimal2
, ROUND( 654321.123456 , 1  ) AS derechoDecimal1
, ROUND( 654321.123456 , 0  ) AS cero
, ROUND( 654321.123456 , -1  ) AS izquierda1
, ROUND( 654321.123456 , -2  ) AS izquierda2
, ROUND( 654321.123456 , -3  ) AS izquierda3
, ROUND( 654321.123456 , -4  ) AS izquierda4
, ROUND( 654321.123456 , -5  ) AS izquierda;

POWER
Multiplica un valor por si mismo N veces que se indique en la función
SQRT
Obtiene la raíz cuadrada de un número.
SQUARE
Obtiene el cuadrado de un número, o un número multiplicado por si mismo solo una vez. Vamos a los ejemplos:
; WITH cte AS(
 SELECT 1 AS valor
 UNION ALL 
 SELECT valor+1 
 FROM cte
 WHERE valor < 20
) 

SELECT valor
, POWER( valor , 2 ) AS vPower2
, POWER( valor , 3 ) AS vPower3
, SQRT( valor ) AS vSQRT
, SQUARE( valor ) AS vSquare
 FROM cte;

RAND

Genera un número aleatorio entre 0 y 1, para más información aquí.

Espero que les sirva... SALUDOS!
COMPARTE ESTA INFORMACION SI TE PARECIO INTERESANTE

0 comentarios:

Publicar un comentario