Mysql
 sql >> Database >  >> RDS >> Mysql

Funzione MySQL che restituisce un valore da una query

Supponendo che questi siano tutti nomi generici (la tabella non sarà un buon nome di tabella), il problema è che non puoi usare ==per il confronto. Ti mancano anche alcune sintassi delle chiavi (DECLARE, SELECT INTO, ecc.).

Cambia in questo:

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

Funzioni e operatori di confronto MySQL

Domanda correlata:Single Equals in MYSQL

Guida alle funzioni:http://www. databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-Functions.htm