Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2011, 18h31   #1
Futur Membre du Club
 
Inscription : novembre 2005
Messages : 90
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 90
Points : 19
Points : 19
Par défaut format d'un champ de type décimal

bonjour.
comme en access, je voulais formater un champ de type décimal dans le genre
Citation:
SELECT Format(ChampNumerique,'# ### ##0.000') FROM TABLE1
sql server me dit qu'il ne reconnaît pas la fonction "Format".

help please
djelloharmel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 20h37   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Ce que vous tentez de faire, c'est de al cosmétique.. Ce n'est pas le rôle d'un SGBDR. La notion de format est du ressort des IHM.
A lire : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L7

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 09h22   #3
Futur Membre du Club
 
Inscription : novembre 2005
Messages : 90
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 90
Points : 19
Points : 19
Merci SQLpro.
j'en avait besoin.
mais ce dont j'ai le plus besoin, c'est formater une valeur décimale.
djelloharmel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 16h07   #4
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 670
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 670
Points : 8 732
Points : 8 732
Bonjour,

Le conseil de SQLPro tient toujours : il vaut mieux faire cela du côté applicatif.
Si vous écrivez le code T-SQL pour ce faire, il sera moins performant que le code effectuant la même opération côté applicatif

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 16h12   #5
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Je tempère toujours ce genre de remarque avec le fait qu'on n'a pas forcément une application au bout de ce genre de requête.

Ça peut très bien être du SQL conçu pour générer un fichier servant à alimenter une interface avec un format bien défini.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 18h32   #6
Futur Membre du Club
 
Inscription : novembre 2005
Messages : 90
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 90
Points : 19
Points : 19
bien dit waldar.

je ne comprends pas. c'est si simple en access. pourquoi ça se complique en sql server. je vais y arriver mais j'aurai aimé que le chemin soit moins long
djelloharmel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 18h51   #7
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
En surfant ici j'ai trouvé une astuce qui transite via le type money :
Code :
1
2
3
4
5
SELECT REPLACE(CONVERT(varchar, CAST(987654321 AS money), 1), ',', ' ') AS res
 
res
--------------
987 654 321.00
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 16h27   #8
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 670
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 670
Points : 8 732
Points : 8 732
Bonjour,

Citation:
Envoyé par Waldar
Je tempère toujours ce genre de remarque avec le fait qu'on n'a pas forcément une application au bout de ce genre de requête.
Dans ce cas utiliser SSIS ou ... Access
Comme le dit SQLPro, un SGBDR (un vrai hein ) est conçu pour stocker, modifier et retrouver des données ... pas pour les présenter.

Citation:
je ne comprends pas. c'est si simple en access. pourquoi ça se complique en sql server. je vais y arriver mais j'aurai aimé que le chemin soit moins long
Access n'est pas SQL Server, sinon ... ils auraient le même nom !
Access est loin d'être un SGBDR digne de ce nom.
D'autre part le type de données money produit des erreurs, surtout sur la partie décimale du nombre stockée est non nulle ...

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 17h13   #9
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Citation:
Envoyé par elsuket Voir le message
Dans ce cas utiliser SSIS ou ... Access
Comme le dit SQLPro, un SGBDR (un vrai hein ) est conçu pour stocker, modifier et retrouver des données ... pas pour les présenter.
Donc on interdit la clause ORDER BY à la fin des requêtes, c'est de la présentation !
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 13h21   #10
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 670
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 670
Points : 8 732
Points : 8 732
En SQL, il n'y a pas d'ordre, donc un ORDER BY sans TOP (qui n'est pas ensembliste), j'avoue rarement en comprendre l'intérêt.
Je dois dire que cet opérateur est à la limite, parce que je doute que ce soit plus rapide d'ordonner un ensemble dans une application que dans SQL Server.

C'est un éternel débat; pour moi le type de transformation que cherche djelloharmel est clairement à faire du côté applicatif

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h58.


 
 
 
 
Partenaires

Hébergement Web