SQL Server 2008 séparateur de milliers pour une colonne
J'ai une colonne appelée TotalArea
et son format est numeric (12,2)
.
Je veux qu'il affiche les nombres avec un séparateur de milliers, donc, quand je
select TotalArea from table
pour me montrer un format comme 1,234.00
.
Comment pourrais-je le faire? Merci!
Double Possible de Comment dois-je formater un nombre avec une virgule en T-SQL?
OriginalL'auteur user1820705 | 2012-12-13
Vous devez vous connecter pour publier un commentaire.
Essayer de cette façon:
ou
Faire cela seulement si votre numéro jette dans un type monétaire. @dasiimwe a la meilleure réponse. Flotteur valeurs d'erreur
Les valeurs flottantes en fonte fine, et si vous êtes coincé avec SQL Server 2008, alors c'est proabably le meilleur choix.
declare @f float = 12345.67890; SELECT CONVERT(varchar, CAST(@f AS Money), 1)
OriginalL'auteur Parado
De référence:
https://msdn.microsoft.com/en-us/library/ee634206(v=sql.105).aspx
Prise en charge uniquement à partir de SQL Server à partir de 2012. social.msdn.microsoft.com/Forums/sqlserver/en-US/...
Merci, très utile
Simple, élégant, correct. Ce doit être la accepté de répondre à
Le MS docs pour FORMAT dire "Cette fonction ne peut pas être transférée à distance car il dépend de la présence de la CLR." Que signifie exactement "accès distant" une fonction comme ceci signifie?
OriginalL'auteur dasiimwe
Mise en forme des nombres pour l'affichage est quelque chose qui devrait être fait dans la couche d'affichage, et pas dans la base de données. Ainsi, dans l'application que ces données finit par être utilisés, vous devez la formater. Management Studio, malheureusement, n'offre pas beaucoup de contrôle à cet égard.
Je prétends que la mise en forme de XML est seulement nécessaire pour les êtres humains - ordinateurs consomment la même, qu'il a un tas d'espaces ou pas. Donc je dirais que ce genre de mise en forme ne doit être fait au moment de l'affichage.
Si je suis en interrogeant directement la base de données, par exemple à l'aide d'une requête feuille dans SSMS, l'affichage de la couche avec la couche de base de données, afin de demander un format lisible par l'homme est parfaitement légitime.
à l'aide de SSMS comme une couche d'affichage n'est pas vraiment 'légitime'. Un bouche-trou? Assurez-vous. Une solution à long terme? L'enfer n'.
vraiment 'legit'"? Ce Rapport sur les Services? Évidemment, cela dépend de l'application que vous êtes en développement: je n'aime pas utiliser une base de données relationnelle pour plus de tables et de FKs (je déteste SP, fonctions, triggers, etc), mais si vous n'avez pas de multi-couche application et si vous voulez utiliser seulement SSMS pour le traitement de vos données... et bien, c'est très bien
OriginalL'auteur Matt Whitfield
utiliser le présent simple....
format(CHART_OF_ITEM.UNIT_PRIC_W_TAX, '#,0.00') UNIT_PRICE_W_TAX
OriginalL'auteur Samuel Darteh
Essayer Celui-ci par exemple impressionnant.
SELECT CAST(CONVERT(varchar, CAST(123456 COMME de l'argent), 1), varchar)
OriginalL'auteur Airwings