6
votes

Rounding-up sql

Je dois manquer quelque chose d'évident.

select CEILING(85/30) = 2

85/30 = 2.83333


0 commentaires

3 Réponses :


14
votes

essayer xxx

et pour la comparaison xxx

Le premier exemple utilise des flotteurs, la seconde utilise des INTS, le résultat est donc arrondi avant La fonction de plafond est touchée. Ce que vous faites est xxx

plutôt que xxx


0 commentaires

3
votes

Changez-le pour:

select CEILING(85/30.0)


0 commentaires

1
votes

Utilisez certains paramètres dactylographiés et vous n'aurez pas à vous soucier de la manière dont vous entrez les données. Voici un SAM

DECLARE @int_num integer
DECLARE @int_dem integer
DECLARE @dec_num decimal(18,0)
DECLARE @dec_dem decimal(18,0)

SET @int_num = 85
SET @int_dem = 30
SET @dec_num = 85
SET @dec_dem = 30

SELECT CEILING(@int_num / @int_dem) AS int_div, CEILING(@dec_num / @dec_dem) AS dec_div

int_div   |   dec_div
----------------------
2         |   3


0 commentaires