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

Mysql-funktion, der returnerer en værdi fra en forespørgsel

Forudsat at disse alle er generiske navne (tabel vil ikke være et godt tabelnavn), er problemet, at du ikke kan bruge ==til sammenligning. Du mangler også noget nøglesyntaks (DECLARE, SELECT INTO osv.).

Skift til dette:

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-sammenligningsfunktioner og -operatører

Relateret spørgsmål:Single Equals i MYSQL

Funktionshjælp:http://www. databasejournal.com/features/mysql/article.php/3569846/MySQL-Stored-Functions.htm




  1. Sådan falder du bordet i oracle

  2. NLSSORT() Funktion i Oracle

  3. Sådan tilføjes en filgruppe til en SQL Server-database (T-SQL)

  4. Postgresql generere_serie af måneder