Comment écrivez-vous un nombre avec deux décimales pour le serveur SQL?
sql
sql-server
decimal
number-formatting
Shiliang
la source
la source
Utilisez la
Str()
fonction. Il faut trois arguments (le nombre, le nombre total de caractères à afficher et le nombre de décimales à afficheraffiche: '12345.679' (3 espaces, 5 chiffres 12345, un point décimal et trois chiffres décimaux (679). - il arrondit s'il doit tronquer, (sauf si la partie entière est trop grande pour la taille totale, auquel cas des astérisques sont affichés à la place.)
pour un total de 12 caractères, avec 3 à droite de la virgule décimale.
la source
it rounds if it has to truncate
... sauf si la partie entière est trop grande pour la taille totale, auquel cas des astérisques sont affichés à la place. Ceci est mentionné dans la documentation deSTR
. Voici une citation de cette page:STR(1223,2) truncates the result set to **.
En règle générale, vous pouvez définir la précision d'un nombre en SQL en le définissant avec des paramètres. Dans la plupart des cas, ce sera
NUMERIC(10,2)
ouDecimal(10,2)
- définira une colonne comme un nombre avec 10 chiffres au total avec une précision de 2 (décimales).Édité pour plus de clarté
la source
Ce travail pour moi et garde toujours des fractions à deux chiffres
23,1 ==> 23,10
25,569 ==> 25,56
1 ==> 1,00
Capture d'écran du code
la source
Voici comment les enfants le font aujourd'hui:
123,46
la source
DECLARE @test DECIMAL(18,6) = 0.456789
alors lesSELECT FORMAT(@test, '##.##')
rendements:.46
Comment obtenez-vous pour montrer le zéro:0.46
?Si vous n'avez besoin que de deux décimales, le moyen le plus simple est.
OU
Production
la source
Si vous êtes d' accord d' arrondir le nombre au lieu de le tronquer, alors c'est juste:
la source
Essaye ça:
la source
Multipliez la valeur que vous souhaitez insérer (ex. 2,99) par 100
Insérez ensuite la division par 100 du résultat en ajoutant 0,01 à la fin:
la source
Cela permettra un total de 10 chiffres avec 2 valeurs après la décimale. Cela signifie qu'il peut accepter la valeur de la valeur avant la décimale jusqu'à 8 chiffres et 2 après la décimale.
Pour valider, mettez la valeur dans la requête suivante.
la source