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
No hay comentarios.:
Publicar un comentario