Dans SQL Server, le type de données flottant n'affiche pas les zéros de fin après le point décimal
declare @num as float
set @num=5.20
select @num
affichera uniquement 5.2
Mais je veux qu'il s'affiche comme 5.20
Après un peu de recherche, j'ai trouvé que cela peut être résolu en utilisant
select CAST(@num AS numeric(10,2))
Mais ce n'est pas la solution que j'attends. Existe-t-il une méthode telle que la définition du type de données ou la modification du type de données afin que je puisse obtenir la même chose? (Ce sera mieux s'il y a des variantes dans float qui peuvent faire la même chose)
Si cela est possible, je n'ai pas besoin de modifier l'instruction SQL et d'inclure le cast, etc. Veuillez m'aider à ce sujet.
Cela peut être réalisé avec le type de données decimal
.
Voir ci-dessous pour un exemple:
declare @num as float;
set @num=5.20;
select convert(decimal(10, 2), @num);
La sortie ici sera 5.20
.
Après avoir relu votre question:
Mais ce n'est pas la solution que j'attends. Existe-t-il une méthode telle que la définition du type de données ou la modification du type de données afin que je puisse y parvenir?
Y a-t-il une raison pour laquelle vous utilisez spécifiquement float
? Souvent, les gens ont tendance à utiliser par défaut ce type de données lorsque decimal
est plus que suffisant.