[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [1/2HS] Mysql et le symbole Euro €



> Le 09/02/2020 à 12:32, Jean-Michel OLTRA a écrit :
> >> on ne mets jamais l'unité dans une base de données...
> >> on inscrit simplement les montants en base, c'est à la présentation des
> >> données qu'on rajoute l'unité, ce qui permet de les manipuler comme on
> >> veut. 
> > Tu peux la mettre dans une colonne à part, ou via un id dans une table
> > séparée. C'est quand même préférable de savoir dans quelle unité fut
> > enregistré ledit montant.

On Monday 24 February 2020 10:45:32 Erwann Le Bras wrote:
> Tout-a-fait.
> Il y a même deux écoles : soit tout est renseigné dans la même monnaie 
> dans la base et converti à l'utilisation, soit la devise est précisée 
> avec le montant. Dans ce cas on préfère utiliser le code ISO 4217 de la 
> monnaie (EUR pour Euro, USD pour Dollar US) plutôt qu'un code de 
> caractère (€, $) qui va varier selon l'encodage retenu.
> Codes ISO 4217 : https://fr.wikipedia.org/wiki/ISO_4217, 
> https://www.iso.org/fr/iso-4217-currency-codes.html

C'est un champ qui n'a pas à être manipulé,
de type caractères "varchar", contenant un nombre, suivis d'un espace 
et de € (soit p. ex. "20 €").
C'est lors de l'update du champ que les caractères €
se transforment en ce caractère : ¤   et pourquoi ?
Ce n'est pas un champ de type "INT" (integer, entier).

La table comporte un autre champ "montant" qui ne contient
qu'un nombre INT (p. ex. "20"), pour les manipulations (calculs).

Bonne journée.


Reply to: