Težave z zaokroževanjem v decimalnih številah v SQL

Avtor: John Pratt
Datum Ustvarjanja: 17 Januar 2021
Datum Posodobitve: 4 Julij. 2024
Anonim
Change Default Options in SPSS - Decimal Places, Font Point Size, Gridlines, Etc.
Video.: Change Default Options in SPSS - Decimal Places, Font Point Size, Gridlines, Etc.

Vsebina

Jezik SQL samodejno zaokroži številke, če stolpec tabele, v katerega shranite, dovoljuje le določeno natančnost decimalnih mest. Delate lahko z natančnimi težavami z uporabo "okrogle" funkcije SQL. Ta funkcija vam omogoča nadzor nad tem, kako SQL shranjuje številske vrednosti v tabelah zbirke podatkov.


Več o kroženju števil v SQL (Hemera Technologies / AbleStock.com / Getty Images)

Težava

Pri pregledovanju podatkov v tabelah boste opazili problem zaokroževanja SQL. Prikazana številčna vrednost ni enaka številki, ki ste jo shranili z ukazom "insert". Podatkovni tipi stolpcev SQL vam omogočajo, da nastavite natančnost decimalne vejice. Če želite imeti samo dve decimalni mesti in poskusite shraniti številko s tremi, bo SQL zaokrožil vrednost.

Struktura tabele

Vrsto podatkov stolpca lahko spremenite z urejevalnikom tabel SQL. Tabele lahko urejate v programu Microsoft SQL Server Management Studio, ki je priložen strežniku SQL Server. Z desno miškino tipko kliknite na tabelo in izberite "Spremeni". V seznamu podatkovnih vrstic stolpca izberite natančnost, da povečate število decimalnih mest in popravite problem zaokroževanja.


Funkcija kroga

Če ne želite spreminjati podatkovnega tipa tabele, uporabite funkcijo zaokroževanja, da spremenite obnašanje številskega pomnilnika. Zaokrožite navzgor, navzdol ali pustite, da funkcija izvede standardno zaokroževanje decimalnih vrednosti. Naslednja koda se na primer zaokroži:

krog (stolpec 2, -1)

Ta funkcija se zaokroži na dve decimalni mesti, vedno navzgor. Če odstranite parameter "-1", SQL izvede standardno zaokroževanje, tj. Če je vrednost večja ali enaka "5" in navzdol, če je vrednost nižja.

Premisleki

Ko spremenite vedenje zaokroževanja v SQL, morate preveriti tudi vsak stolpec, ki ima vsoto zaokroženih števil. Ta stolpec bo imel napačno vrednost, zato boste morali znova izračunati vsoto, da popravite napake.