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.