Obtenir un nombre avec une valeur décimale

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.