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

mysql/oracle-lagret matematisk formel

Jeg tror, ​​det du siger, er at du vil have databasen til at analysere formelstrengen. For eksempel kan du for Oracle

  • Tilføj en kolonne til tabellen for at indeholde resultatet
  • Kør en opdateringssætning, som kalder en PL/SQL-funktion med værdierne af kolonnerne i tabellen og teksten i formlen

    opdater {tabel} sæt formula_result =fn_calc_result (col1, col2, formula_column);

PL/SQL-funktionen ville skabe en streng ved at erstatte "col1" og "col2" og så videre med de faktiske værdier af disse kolonner. Det kan du gøre med almindelige udtryk, så længe formlerne er konsekvent skrevet.

Brug derefter

execute immediate 'select '||{formula}||' from dual' into v_return;
return v_return;

at beregne resultatet og returnere det.

Du kan selvfølgelig også skrive din egen parser. Hvis du beslutter dig for at gå den vej, så glem ikke at håndtere operationsprioritet, parenteser og så videre.



  1. MYSQL - VÆLG IP v4/v6, inet_pton &bin2hex

  2. To forespørgsler mysql i ét objekt json

  3. Eksisterer / findes ikke:'vælg 1' vs 'vælg felt'

  4. gruppe concat ækvivalent i gris?