r13136 - branches/spip-2.0/ecrire/req

Author: marcimat@free.fr
Date: 2008-11-10 23:09:22 +0100 (lun, 10 nov 2008)
New Revision: 13136

Log:
-* Ajout de exponentielle et racine carrée dans les fonctions de SQLite.

Permet de faire fonctionner le plugin notations avec SQLite2 et SQLite3 (Sauf certaines compilations de SQLite 3.5.9 Debian/Ubuntu qui ont un bug connu et corrigé sur les versions suivantes sur les nombres flottants)

Une division "select 4/3" devrait (a priori) donner 1 (division entière), ce que font SQLite et SQL server (je ne sais pas pour postgres), mais Mysql effectue calcule un résultat en nombre flottant.

Pour forcer un résultat comme mysql (flottant), il faut qu'un des opérandes soit flottant, par exemple : "select 4.0/3" ou "select (4+0.0)/3" ou "select 4*1.0/3". J'ai ajouté un code (commenté) pour forcer éventuellement une interpretation comme mysql sur ces divisions de nombre entiers, mais il semble plus logique de se réferer à la norme SQL là dessus (je n'ai pas trouvé la référence)

Modified:
   branches/spip-2.0/ecrire/req/sqlite_fonctions.php
   branches/spip-2.0/ecrire/req/sqlite_generique.php

Details: http://trac.rezo.net/trac/spip/changeset/13136

marcimat-GANU6spQydw@public.gmane.org a écrit :

Author: marcimat-GANU6spQydw@public.gmane.org
Date: 2008-11-10 23:09:22 +0100 (lun, 10 nov 2008)
New Revision: 13136

Log:

Une division "select 4/3" devrait (a priori) donner 1 (division entière), ce que font SQLite et SQL server (je ne sais pas pour postgres), mais Mysql effectue calcule un résultat en nombre flottant.

Je confirme que postgres agit pareil. Seul Mysql créé un nombre flottant sur la division de 2 entiers.

--
MM.