J'essaie d'get le nombre avec les valeurs décimales.
Voici l'exemple suivant:
J'ai deux nombres: 621
qui devrait être divisé par 7
et le résultat devrait être montré sous forme de nombre avec au less 3 numbers valeurs décimales. En conséquence, le résultat devrait être 88.714
.
Mon Try1:
SELECT CAST(621/7 as DECIMAL(5,3));
Obtenir le résultat est 88.000
.
Essayez 2:
SELECT CONVERT(DECIMAL(5,3), 621/7);
Obtenir le résultat est 88.000
.
Vous devez convertir avant de split afin d'éviter la division entière. Le moyen le plus simple est:
cast(621*1.0/7 as Decimal(5,3))
Dans vos exemples, la division se passe d'abord, puis le converti / cast est appliqué à ce résultat.
Essaye ça
SELECT CONVERT(DECIMAL(18,0), 621)/7;
Sql Simplement traiter 621 un 7 comme int et il donnera dehors int que vous convertissez en décimal. Vous devez le définir explicitement comme décimal
declare @a decimal(10,3)=621 SELECT CAST(@a/7 as DECIMAL(5,3));
Voici ce que vous essayez de faire
select 5/2
Il donnera toujours 2 si vous le convertissez en décimal
select cast (5/2 as decimal(5,3))
SELECT CAST(621.000/7 AS DECIMAL(5,3))
devrait fonctionner mieux car la division est terminée avant la dissortingbution dans votre exemple.