Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1728 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] TO_CHAR() en MSSQL ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] TO_CHAR() en MSSQL ?

n°1851755
ZeBix
edit > preview
Posté le 16-02-2009 à 15:21:38  profilanswer
 

Bonjour,  
 
Je voudrais effectuer cette commande SQL :  
 

Code :
  1. SELECT TO_CHAR (myfield,'$9.999,99')


sur un serveur MSSQL, où la fonction TO_CHAR() n'existe pas.
 
Un peu de Google m'a appris que c'est CONVERT() ou CAST() que je dois employer, mais malgré une recherche dans la doc officielle MSDN, je ne vois pas comment effectuer la commande que je veux, c'est-à-dire :  
 
Sélectionner un champ INT, et formater l'output directement en SQL en y définissant les chiffres décimaux, et en insérant un symbole monétaire et un séparateur de milliers


Message édité par ZeBix le 18-02-2009 à 11:38:26
mood
Publicité
Posté le 16-02-2009 à 15:21:38  profilanswer
 

n°1852039
ZeBix
edit > preview
Posté le 17-02-2009 à 10:41:13  profilanswer
 

Petit up
 
Depuis hier j'ai trouvé pour le symbol monétaire :  
 

Code :
  1. SELECT '$'+CONVERT(CHAR, CONVERT(decimal(10,2), CONVERT(varbinary(20), myfield)) )

(tordu hein)
 
Mais je sèche encore un peu pour le séparateur des milliers, je ne vois pas comment faire ça en CONVERT() ou CAST()

n°1852371
moi23372
Posté le 17-02-2009 à 21:04:22  profilanswer
 

ton CONVERT peut avoir un troisième paramètre qui spécifie ce genre de format. Il faut regardé la doc pour voir quel paramètre tu peux utiliser. De mémoire, c'est s'agit d'un nombre qui représente le format.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
n°1852499
ZeBix
edit > preview
Posté le 18-02-2009 à 11:38:13  profilanswer
 

Effectivement, paramètre "style" , mais qui semble n'accepter que des valeurs précises et pré-enregistrées ...  
 
Il y a aussi la possibilité d'utilise le datatype "money" mais là on dépend des regional settings du serveur, et je trouve ça absolument nul point de vue portabilité (sachant que je suis en Belgique et que les serveurs sont tantôt en français, tantôt en néerlandais , tantôt en allemand et parfois même en anglais!).
 
Bref, on s'est résolu à transtyper toutes les valeurs en string via C# et à faire nos opérations de formatages de string via ce medium, mais c'est bien dommage, car même si ça marche c'est moins "clean" :)


Message édité par ZeBix le 18-02-2009 à 11:38:57

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] TO_CHAR() en MSSQL ?

 

Sujets relatifs
[JAVA] Recuperer la selection d'une liste [RESOLU][RESOLU]html align bidon
[résolu] Connexion/déconnexion d'une BDD en PHP, temps d'accès[résolu] Je débute, pouvez vous m'aider ?
Semaine et Annee a partir de now() [RESOLU][résolu] clé primaire auto-incrémentée avec masque de deux caractères?
[Resolu] Problème de synchronisation des données ![RESOLU] [PHP/MYSQL] Problème d'exécution de requete imbriqué
[Resolu][Apache] Virtual Host et Alias sous Windows[Resolu] FileReference et reponse du serveur...
Plus de sujets relatifs à : [Résolu] TO_CHAR() en MSSQL ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR