SQL Server - Sumar de Manera Literal ?

 
Vista:
Imágen de perfil de Andres Zelada
Val: 27
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Sumar de Manera Literal ?

Publicado por Andres Zelada (9 intervenciones) el 10/06/2020 11:46:23
Hola tengo un problemita me dieron un ejercicio para hacer en sql con una funcion, la verdad no lo creo ni posible jajajajaja pero quisiera saber que opinan...
Debo hacer una funcion que reciba un varchar (cualquier tamaño) que reciba una cantidad de 'n' numeros con suma y resta escrita de manera literal y que devuelva el valor del resultado

EJ:
1
exec function dbo.sumar @suma = '1+2+4-2'

En este caso devolveria 5


Es posible hacer algo como esto en SQL ? jajaja
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Plutarco
Val: 86
Ha aumentado 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

Sumar de Manera Literal ?

Publicado por Plutarco (39 intervenciones) el 10/06/2020 16:59:50
Hola, buenos días

Por supuesto que es posible, tu pregunta está mal formulada, no se trata de poder hacer un procedimiento o una función, si no que la pregunta es cómo ejecutar una instrucción sql dinamicamente.

Esto lo logras a través del procedimiento sp_executesql el cual recibe un parámetro tipo nvarchar, teniendo esto en mente te quedaría algo así:

1
2
3
4
5
6
7
8
DECLARE
@sql	NVARCHAR(MAX),
@Operacion	VARCHAR(MAX)
 
SET @Operacion = '1+2+4-2'
SET @Sql = 'SELECT ' + @Operacion
 
EXEC sp_executesql @Sql

Bueno, tu respuesta queda contestada, lo que sigue es que te esfuerces un poquito y hagas la función que te dejaron de tarea y que recibe como parámetro una cadena y hacer que devuelva el resultado.

Espero haber sido de ayuda y que no te de miedo investigar, no siempre vas a encontrar a alguien dispuesto a compartir conocimientos, este foro es de ayuda efectivamente, pero antes de pedir ayuda hay que esforzarse e investigar un poco.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Andres Zelada
Val: 27
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Sumar de Manera Literal ?

Publicado por Andres Zelada (9 intervenciones) el 10/06/2020 22:47:11
Muchas gracias !!! voy a seguir investigando para hacerlo en manera de funcion, no tenia conocimiento del NVARCHAR ni del sp_executesql, ahora creo que me van a servir bastante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar