Page 1 sur 1

Forcer format nombre sur requête SQLITE

Posté : mer. 24 mai 2017 09:40
par walkson
Bonjour,
Je suis confronté au format d'une requête où ce qui devrait être un nombre, n'est pas reconnu comme tel.
C'est d'autant plus gênant car l'array obtenu par la requête (_SQLite_GetTable2d(-1, $sql ,$aResult, $iRows, $iColumns)), est importé dans un tableau Excel pour en calculer la moyenne.
Voici le début de la requête:
select T.Enseigne,T.commercial, T.Nbmagasins, T.Enregistrements, round(T.Enregistrements/cast(T.Nbmagasins as real)*100,2) as DN , X.mois, X.annee
Tous les nombres sont reconnus sauf pour le calcul round(T.Enregistrements/cast(T.Nbmagasins as real)*100,2) qui se présente comme du texte dans Excel.
Existe t'il un moyen de forcer le format nombre au niveau Sqlite ? (Excel ne veut rien savoir !)
Merci de vos réponses.

Re: Forcer format nombre sur requête SQLITE  

Posté : mer. 24 mai 2017 12:10
par jchd
Salut,

SQLite n'y est pour rien, par lui-même. C'est une sérieuse faiblesse de l'UDF telle qu'elle existe : les résultats sont toujours en type texte.
Il faudrait que je trouve le temps de refondre tout ça pour une vraie gestion des types, autant ceux de SQLite que ceux des résultats.
Il y a bien d'autres choses à améliorer dans cet UDF !

Il ne te reste qu'à appliquer Number() à la colonne souhaitée avant import dans Excel.

Re: Forcer format nombre sur requête SQLITE

Posté : jeu. 25 mai 2017 08:29
par walkson
Merci Jchd pour la réponse. J'appliquerais votre solution