sql >> Databáze >  >> RDS >> Sqlserver

Funkce SQL Server ROUND():K čemu slouží a proč by vás to mělo zajímat?

SQL je programovací jazyk používaný k vytváření, čtení, aktualizaci a mazání databází. Má jednu z nejoblíbenějších funkcí pro zaokrouhlování čísel, která může být velmi užitečná v mnoha situacích, jako jsou finanční výpočty nebo statistické analýzy. Tento článek vám pomůže pochopit, jak používat funkci SQL Round ve vašich databázových dotazech a příkazech.

Co je SQL Server?

SQL Server je systém pro správu databází, který běží na Windows a poskytuje vysokou dostupnost, škálovatelnost, spolehlivost a zabezpečení.

Funkce jako ROUND umožňují uživatelům dokončit úkoly, jako je zálohování a obnova databází nebo souborů, sledování výkonu pomocí dotazů, používání indexů ke zlepšení rychlosti dotazů, správa nastavení zabezpečení pro uživatele a role, vytváření přihlášení pro externí přístup k instanci serveru SQL Server. síť a tak dále.

Ačkoli funkce ROUND nemusí být tak složitá nebo obtížně implementovatelná jako ostatní, je to skvělá funkce, se kterou se můžete začít učit!

Později můžete přejít ke složitějším funkcím SQL serveru, jako je STR, STUFF, SUBSTRING, UPPER, FLOOR, MAX a MIN.

SQL Server také používá pokročilé funkce jako ISNUMERIC, LAG, LEAD, NULLIF nebo SESSION_USER.

SQL Server ROUND () Funkce:Co to je?

Funkce SQL Server ROUND () (oblíbená vývojáři používajícími SQL Server Data Tools nebo zkráceně SSDT v projektech Analysis Service, Reporting Service a Integration Service) je převod numerických datových typů.

Tato funkce přijímá jeden parametr, kterým může být celé číslo nebo desetinné číslo, a vrací odpovídající celočíselnou hodnotu pro daný vstup. Jednoduše řečeno, funkce SQL Server ROUND () zaokrouhlí číslo nahoru na nejbližší celé číslo.

Jak to funguje?

Funkce SQL Server ROUND () byla navržena společností Microsoft a lze ji použít v různých oblastech, jako je matematika, strojírenství, finance atd. Nemá žádná omezení vstupních hodnot a vždy se zaokrouhluje nahoru nebo dolů na nejbližší celé číslo. bez zlomků. Výchozí směr zaokrouhlování je nahoru což znamená, že zaokrouhlí čísla větší než 0 nahoru .

Ve skutečnosti je jeho použití docela jednoduché. Podívejme se na níže uvedenou tabulku:

Planety Poloměr SunSeason
1 Mars 3396 687,58
2 Saturn 10759,22 10759,22
3 Neptun 24764 60190,91
4 Merkur 2439 115,18
5 Venuše 6051 234,56

Pomocí tohoto operátoru zaokrouhlíme sloupec SunSeason na jedno desetinné místo:

1 VÝBĚR KOLA (nedělní sezóna, 1) Z planet

SunSeason
687,5
10759,2
60190,9
115,8
243,5

Co takhle zajímavější příklad?

Představte si, že se pokoušíme vypočítat průměrnou velikost pevného disku počítače a získáme výsledek 13,6666666666667. K zaokrouhlení tohoto výsledku můžeme použít funkci ROUND:

SELECT round(AVG(hd),2) AS avg_hd FROM pc;

Výsledek je 13,67.

Funkci můžete přizpůsobit a změnit parametry:

SELECT round(AVG(hd),-1) AS avg_hd FROM pc;

Výsledek je 10.

Zde je příklad použití záporných parametrů s ROUND:

Tuto funkci můžete také použít pro zkrácení:

Zde je příklad použití této funkce s platy zaměstnanců:

Jaké další funkce lze kombinovat s ROUND na serveru SQL?

Funkce ROUND je všestranný nástroj, který lze použít v mnoha situacích. S ROUND na SQL Serveru můžete kombinovat mnoho funkcí. Zde jsou:STROP, PODLAHA, ZKRÁCENÍ, SQRT, MIN a MAX, MOD, VÝKON, SQUARE ROOT a LOG.

Co jsou parametry?

ROUND() používá dva argumenty:první je číslo, které se má zaokrouhlit, a druhý argument určuje, na kolik desetinných míst má být zaokrouhleno.

Výchozí přesnost zaokrouhlení je 0, což znamená, že čísla jsou zaokrouhlena na celé číslo. Můžete upravit parametry, dokonce přidat záporné hodnoty.

Zadejte ROUND(5.6) do okna dotazu a stiskněte Enter. Výstup bude 6 místo 5, protože jste zaokrouhlili nahoru na další celé číslo (to by bylo 7, pokud byste zadali „ROUND(5.7)“).

Požadovaný počet desetinných míst můžete zadat přidáním .n (kde n je libovolné kladné celé číslo).

Kde jej mohu použít?

Tato úhledná malá funkce funguje na serveru SQL Server (od roku 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse.

Jaké problémy řeší?

Tato funkce je užitečná pro zaokrouhlování na zadaný počet desetinných míst a usnadňuje práci s daty, ale to není vše, co umí.

Používá se také pro účely přehledů, protože zaokrouhluje čísla v agregovaných výpočtech, jako je SUM(), AVG() nebo COUNT().

Můžeme jej použít jako nástroj pro manipulaci s řetězci, který převede všechny znaky na velká písmena. Kromě toho jej lze použít ve spojení s funkcemi jako SUBSTRING (), TRIM (), LENGTH () a LEFT ().

Mohu použít ROUND v MySQL?

MySQL je systém správy relačních databází (RDMS) stejně jako SQL Server, ale je open source a zdarma, zatímco SQL Server je dodáván s licencí od společnosti Microsoft.

MySQL je jednou z nejpoužívanějších databází na světě. Je lídrem v klíčových funkcích, jako jsou transakce, zamykací mechanismy, režimy obnovy, metody zabezpečení a škálovatelnost atd.

V MySQL existuje ekvivalent funkce Round s názvem Truncate. Skript je následující:

 SELECT TRUNCATE(AVG(Salary),2)
   AS Avg_Salary
   FROM STAFF

Poznámka:Ostatní jazyky mají své příslušné funkce. Před nasazením byste si měli prostudovat jejich aspekty (zejména pokročilejší funkce, které jsme zmínili). Navštivte nás a najděte odpovědi na své otázky.

Jaké další jazyky Round používá?

Kromě SQL Serveru existuje mnoho jazyků, které používají funkci ROUND, včetně Pascal C++ Matlab Apex a tak dále.

Shrnutí

Pokud skutečně nejste do matematiky je funkce ROUND SQL Serveru zdlouhavější než prodavač závěsů z Idaha. Ve skutečnosti je to neskutečná nuda. Dělá pouze 1 věc – zaokrouhluje čísla.

V SQL Server zaokrouhluje dané číslo na celé číslo ořezáváním číslic za desetinnou čárkou, dokud nezůstane pouze jedna číslice, než zaokrouhlí nahoru nebo dolů podle zadaných pravidel.

Tato funkce není podporována ve všech jazycích, ale v mnoha z nich existuje, například C# a VB.NET. Můžete také použít ROUND pro převod čísel s plovoucí desetinnou čárkou na celá čísla a také pro zaokrouhlování řetězců.


  1. Vícenásobné vložení SQL Oracle

  2. Jak přidat komentáře v SQL?

  3. Použít e-mailovou adresu jako primární klíč?

  4. Rozdělení logické replikace s PostgreSQL 13