sql >> Base de Datos >  >> RDS >> Mysql

Función Mysql que devuelve un valor de una consulta

Suponiendo que todos estos son nombres genéricos (la tabla no será un buen nombre de tabla), el problema es que no puede usar ==para comparar. También te falta alguna sintaxis clave (DECLARAR, SELECCIONAR EN, etc.).

Cambia a esto:

CREATE FUNCTION func01(value1 INT , monto DECIMAL (10,2))
RETURNS DECIMAL(10,2)
DETERMINISTIC
BEGIN
  DECLARE var_name DECIMAL(10,2);
  SET var_name = 0;
  SELECT if(value1 = 1,monto *divisa_dolar,monto *divisa_euro) INTO var_name
    FROM table
    WHERE data_init = 1;
  RETURN var_name;
END

Operadores y funciones de comparación de MySQL

Pregunta relacionada:Single Equals in MYSQL

Ayuda de funciones:http://www. databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-Functions.htm