Kerek (transact-sql)

Az a pontosság, amelyre a numerikus_kifejezés argumentum értékét keressük. A hossz argumentumnak tipusú kifejezésnek kell lennie. smallint vagy int. Ha a hossza argumentum pozitív szám, akkor a numerikus_kifejezést keressük a hossza argumentumban megadott tizedeshelyek számához. Ha a hossza negatív szám, akkor a numerikus_kifejezést kerekítik a tizedes számtól az egész számtól balra levő ponttól balra, a hosszúságnak megfelelően.







Az elvégzendő művelet típusa. A függvény argumentumnak tipusúnak kell lennie. smallint vagy int. Ha a függvény argumentum kimaradt, vagy értéke 0 (az alapértelmezett érték), akkor a numerikus_kifejezési argumentum lekerekített. Ha 0-tól eltérő érték van megadva, a numerikus kifejezés csonkolásra kerül.







A következő adattípusokat adja vissza.

A visszajuttatott adatok típusa

A ROUND funkció mindig visszaad egy értéket. Ha a hossz argumentum negatív értékű, és nagyobb, mint a számjegyek száma a decimális frakciótól az egész számtól elválasztó pontig, a ROUND értéke 0.

A ROUND függvény a numerikus_kifejezés kifejezés kerekített értékét adja vissza, függetlenül az adattípustól, ha a hossza negatív szám.

Ennek eredményeként aritmetikai túlcsordulás következik be, mivel a 748.58 értéknél az alapértelmezett típus tizedes (5,2), ami nem engedi vissza az 1000,00 értéket.

Ha az eredményt négy számjegyre kívánja kerekíteni, módosítsa az adat típusát a bemeneten. Például:

SELECT ROUND (CAST (748.58 AS decimális (6.2)), - 3);

A. A ROUND funkció és a hozzávetőleges értékek használata

A következő példa két olyan kifejezést mutat, amelyek azt mutatják, hogy az ROUND funkció használata esetén az utolsó karakter mindig hozzávetőleges.