miércoles, 23 de diciembre de 2015

Operadores en SQL Server

Buenas  tardes queridos lectores, continuamos posteando ejercicios con el comando SELECT de SQL Server, en esta ocasión veremos los operadores en SQL. Pero comencemos con el post. ¿Qué es un operador? Un operador es un símbolo que  especifica una acción que es realizada por una o más expresiones. En las siguientes tablas se incluyen las categorías de operadores que incluye SQL Server


.      Aritméticos: Estos operadores permiten realizar operaciones matemáticas entre expresiones del tipo numérico no necesariamente iguales.

+ sumar
Operador de sume numérica, concatenación de columnas en una consulta y para los tipos de caracteres
           -  Restar
Operador de restas numéricas, también representa a los números negativos
*multiplicación
Operador de multiplicación
/ Dividir
Operador de división entera o fraccionaria
% Modulo
Operador que devuelve el resto de una división

Veamos un ejemplo:
Ejemplo 1: Script que permita mostrar el resultado de la expresión 2+(4+2) usando las sentencias SELECT y PRINT.

Solución con SELECT

SELECT '2+(2+4)' AS [EXPRESION],
             2+(4+2) AS [RESULTADO]
GO
 



En el script se definen dos columnas para mostrar la solución a la expresión, en la primera columna se encierra entre comillas simples la expresión y se le asigna el encabezado de EXPRESION. En la siguiente columna de la consulta se especifica la expresión, para que el motor de base de datos calcule el resultado, a esto se le asignará el encabezado RESULTADO

Solución con PRINT

PRINT 'LA EXPRESION 2+(4+2) TIENE COMO RESULTADO: ' + STR(2+(2+4))
GO


En el script se observa que la forma de implementar la solución es distinta por el hecho que la sentencia PRINT tiene otra sintaxis. Aquí el operador +  se utilizó para unir dos expresiones, la primera es texto LA EXPRESION 2+(4+2)) TIENE COMO RESULTADO y el segundo es el resultado de la expresión STR(2+(4+2)), como se notará aquí se esta aplicando la función STR que permite convertir un valor numérico a cadena (String). Hay que recalcar que si no se convierte a cadena el motor de base de datos marcará el siguiente mensaje de error:

Mens. 245, Nivel 16, Estado 1, Línea 1
Error de conversión al convertir el valor varchar 'LA EXPRESION 2+(4+2) TIENE COMO RESULTADO: ' al tipo de datos int.

Donde el error es claro en mencionar que la expresión no puede concatenarse en una expresión de tipo int(entero). Mas adelante explicaremos funciones CAST y CONVERT para realizar conversiones entre tipos de datos

Pero vamos a ver otro ejemplo:

Ejemplo 2: Script que permita mostrar el resultado de la expresión Celcius=(Faherenheit-32)*5/9 usando las sentencias SELECT y PRINT

Usando SELECT:
SELECT '100' [CELCIUS],
             (100-32)*5/9 [FARHENHEIT]
GO






Usando PRINT:

PRINT '100 GRADOS CELCIUS ES >>' +
              LTRIM(STR((100-32)*5/9)) + ' GRADOS FAHERENHEIT'
GO







En la solución PRINT el resultado de la expresión tiene que ser convertida a cadena, para esto se usó la función STR, pero al aplicarlo, esto genera espacios en blanco en el lado izquierdo de la variable convertida, por lo tanto se aplicó la función LTRIM que permite eliminar espacios en blanco del lado izquierdo (L). Tenga en cuenta que el paréntesis es el operador de más alta prioridad.

Pero vamos a ver otro ejemplo:
Ejemplo 3: Script que permita mostrar el revés del número 45 usando las sentencias SELECT y PRINT

Solución con SELECT:

SELECT '45' [NUMERO],
             45/10 + (45%10)*10 [REVES]
GO

En el script se hace uso del operador % para poder obtener el resto de la división, explicaremos el script resolviendo la expresión como lo haría el motor de base de datos:

45/10 + (45%10)*10


45/10: da como resultado 4, ya que se está dividiendo dos números enteros, en otro caso si quisiera que la expresión devuelva decimales se tendría que colocar de la siguiente manera: 45.0/10, el resultado de ésta expresión es 4.5, para lo cual no nos serviría de nada dicha solución

(45%10)*10: da como resultado (5)x10 ->50, ya que el resto de la división de 45 con 10 es 5. Ahora si sumamos ambos resultados, obtendremos 50 + 4 que es el revés del número 45
Solución con PRINT:

PRINT 'EL NUMERO 45 AL REVÉZ ES>> ' + LTRIM(STR(45/10+(45%10)*10))
GO





Hasta aquí el post sobre los operadores matemáticos, en SQL Server, tambien vimos como convertir, datos numéricos a cadena de caracteres con la función STR, y como quitar espacios de la derecha con la función LTRIM, vimos también la instrucción PRINT vimos también las operaciones matemáticas, pero continuaremos post futuros con más usos del SELECT 

Si les gusto el post comenten, den +1 o den algún clic en algún anuncio que les interese. Muchas gracias y buenas tardes.

Saludos

Banderas de Visitantes

Flag Counter