Est-il un moyen simple de format décimales en T-SQL?

Je sais que ça pourrait être fait trivialement dans un non-SQL environnement [post-traitement de données, interface, qu'avez-vous], mais ce n'est pas possible pour le moment. Est-il possible de prendre un decimal(5,2) et la convertir en une varchar sans les zéros de fin/points décimaux? Par exemple:

declare @number decimal(5,2)
set @number = 123.00
select cast(@number as varchar) as FormattedNumber

Et le résultat est '123.00'. Est-il un (simple) pour obtenir le '123' à la place? Et de même, au lieu de "123.30', '123.3'? Pourrait-il faire de déterminer si oui ou non les centièmes/dixièmes places étaient de 0 et manuellement le parage des personnages, mais je voulais savoir si il y avait une solution plus élégante.

Je retourne les données de la base de données, et de laisser la mise en forme vers le bas pour le front-end. Est-il une raison pourquoi vous ne pouvez pas faire cela?
Ouais, comme je l'ai dit, ce n'est pas vraiment une option, - le frontend, tel qu'il est, est trop générale pour avoir des cas particuliers de mise en forme des champs spécifiques d'être de retour (comme le nombre de colonnes, etc), et aucune autre colonne doit être formaté, donc la chose la plus simple que je vois est juste de le faire à partir de SQL.
Avec SQL Server 2012+ Vous pouvez utiliser la fonction FORMAT (). Vous pouvez utiliser '#,##' ou '#,##.0 " comme deuxième paramètre. msdn.microsoft.com/en-us/library/hh213505.aspx

OriginalL'auteur Ian Henry | 2010-01-27