2011-01-05 5 views
2

J'effectue des opérations mathématiques dans une instruction SQL select mais le nombre est toujours tronqué en int. Comment puis-je lui faire une valeur double/float?En SQL, comment puis-je obtenir une expression mathématique pour me donner un double au lieu d'un int tronqué?

Exemple:

select top 10 id, (select COUNT(*) from table1/100) from table2

Si la valeur était 92,738-je obtenir 92

+0

Quel RDBMS utilisez-vous? Je devine SQL Server de l'utilisation de 'top'? –

Répondre

3

Vous rencontrez division entière. Vous devez vous assurer que l'un des opérandes n'est pas un nombre entier. par exemple. comme ci-dessous.

select top 10 id, (select COUNT(*)/100.0 from table1) from table2 
+0

Ah, duh. Je pensais que je devais utiliser une méthode Double() ou quelque chose. Merci beaucoup. –

+0

vous pouvez utiliser Cast (Count (*) comme float) * CAST (100 comme float), mais la réponse ci-dessous fait la même chose – Traci

Questions connexes