sql >> Database >  >> RDS >> Mysql

Mysql-functie die een waarde retourneert uit een query

Ervan uitgaande dat dit allemaal generieke namen zijn (tabel zal geen goede tabelnaam zijn), is het probleem dat u ==niet kunt gebruiken ter vergelijking. Je mist ook enkele sleutelsyntaxis (DECLARE, SELECT INTO, etc.).

Wijzig dit:

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

MySQL-vergelijkingsfuncties en -operators

Gerelateerde vraag:Enkele gelijken in MYSQL

Functie Help:http://www. databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-Functions.htm




  1. Duplicatie van Where-uitdrukkingen in toepassing elimineren

  2. Wat is er nieuw in MariaDB 10.6

  3. meerdere toegevoegde entiteiten kunnen dezelfde primaire sleutel hebben op database seed

  4. Het dumpen van tabellen in orakel 10g met behulp van de PL/SQL-procedure