SQL - Ayuda con cadenas

 
Vista:

Ayuda con cadenas

Publicado por Case (6 intervenciones) el 15/09/2004 18:03:00
Hola Gracias por la ayuda Bueno en estos momentos me encuentro trabajando un sistema de nominas con Visual Basic 6 y SQL Server 7.0 anteriormente lo he hecho con Access, pero tengo poca experiencia con procedimientos almacenados. El tema es que mis formulas para el calculo estan guardadas en un campo de mi tabla y a la hora de rescatarlo lo hago como texto. Como podria hacer para que SQL me respete la sintaxis de la formula y la calcule es decir si:
dias=5
sueldo=300
Formula="dias*(sueldo/30)" ' este es el problema lo recupera como texto
quiero que me calcule y me envie como respuesta 50 y no
dias*(sueldo/30)
Gracias
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

RE:Ayuda con cadenas

Publicado por Isaías Islas (5072 intervenciones) el 15/09/2004 18:39:43
Verifique este ejemplo de un simple query

DECLARE @DIAS INT,
@SUELDO INT

SET @DIAS = 5
SET @SUELDO = 300
SELECT 'Mi resultado es: ', @DIAS * (@SUELDO/30)

Ahora bien, si lo desea convertir en Store

/* Inicio de Codigo */
CREATE PROCEDURE pr_NombreProcedure
@DIAS INT,
@SUELDO INT,
AS

SET NOCOUNT ON

SELECT 'Mi resultado es: ', @DIAS * (@SUELDO/30)
/* Fin de Codigo */

Para ejecutarse desde el Query Analyzer

EXEC pr_NombreProcedure 5,300

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

RE:Ayuda con cadenas

Publicado por Case (6 intervenciones) el 15/09/2004 19:25:28
Isaias muchas gracias pero el asunto no es tan fácil el tema es que la formula \"dias*(sueldo/30)\" yo la tengo metida en un campo como texto y de esa forma no puedo recuperar los valores de mis variables o si? quiero que me envie el resultado asi:
ingreso=50 y no
ingreso=dias*(sueldo/30)
gracias
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

RE:Ayuda con cadenas

Publicado por Isaías Islas (5072 intervenciones) el 15/09/2004 20:12:27
Amigo

Si entiendo que su FORMULA la tenga en un TEXTO y que sea 'dias*(sueldo/30)', forma grafica de representar lo que debe hacer su STORE (en SQL 2000), solo que para ejecutar la "formula" debera enviar los parametros necesarios (o tomarlos de una tabla) para hacer el calculo correspondiente.

Ahora bien, si lo que desea es regresar EXPLICITAMENTE 'ingreso=500', entonces debera CONCATENAR el resultado y convertirlo a un STRING.

-------- La ultima linea del script que le mande ----------
SELECT 'ingreso='+CAST(@DIAS * (@SUELDO/30) AS VARCHAR)
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