sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server ROUND()-funktion:Vad det är till för och varför ska du bry dig?

SQL är ett programmeringsspråk som används för att skapa, läsa, uppdatera och ta bort databaser. Den har en av de mest populära funktionerna för att avrunda siffror, vilket kan vara mycket användbart i många situationer, såsom ekonomiska beräkningar eller statistisk analys. Den här artikeln hjälper dig att förstå hur du använder SQL Round-funktionen i dina databasfrågor och -satser.

Vad är SQL Server?

SQL Server är ett databashanteringssystem som körs på Windows och ger hög tillgänglighet, skalbarhet, tillförlitlighet och säkerhet.

Funktioner som ROUND tillåter användare att utföra uppgifter som att säkerhetskopiera och återställa databaser eller filer, övervaka prestanda med frågor, använda index för att förbättra frågehastigheten, hantera säkerhetsinställningar för användare och roller, skapa inloggningar för extern åtkomst till en instans av SQL Server över ett nätverk och så vidare.

Även om ROUND-funktionen kanske inte är lika komplicerad eller svår att implementera som andra där ute, är den bra att börja lära sig med!

Du kan gå vidare till mer komplicerade SQL-serverfunktioner som STR, STUFF, SUBSTRING, UPPER, FLOOR, MAX och MIN senare.

SQL Server använder även avancerade funktioner som ISNUMERIC, LAG, LEAD, NULLIF eller SESSION_USER.

SQL Server ROUND () Funktion:Vad är det?

Funktionen SQL Server ROUND () (som gynnas av utvecklare som använder SQL Server Data Tools eller SSDT för korta projekt för Analysis Service, Reporting Service och Integration Service) är en numerisk datatypkonvertering.

Denna funktion accepterar en parameter som kan vara ett heltal eller decimaltal och returnerar motsvarande heltalsvärde för den givna inmatningen. Enklare uttryckt, funktionen SQL Server ROUND () avrundar talet uppåt till närmaste heltal.

Hur fungerar det?

Funktionen SQL Server ROUND () har designats av Microsoft och kan användas inom olika områden, såsom matematik, teknik, ekonomi, etc. Den har inga begränsningar för ingångsvärden och avrundar alltid uppåt eller nedåt till närmaste heltal utan bråk. standard avrundningsriktning är upp vilket betyder att det kommer att runda nummer större än 0 uppåt .

Det är faktiskt ganska enkelt att använda det. Låt oss ta en titt på tabellen nedan:

Planeter Radie Solsäsong
1 Mars 3396 687.58
2 Saturnus 10759.22 10759.22
3 Neptunus 24764 60190.91
4 Mercury 2439 115.18
5 Venus 6051 234,56

Med den här operatorn avrundar vi kolumnen SunSeason till en decimal:

1 VÄLJ RUNDA (Solsäsong, 1) FRÅN Planeter

Solsäsong
687,5
10759,2
60190,9
115,8
243,5

Vad sägs om ett mer intressant exempel?

Föreställ dig att vi försöker beräkna den genomsnittliga storleken på en PC-hårddisk och får resultatet 13,6666666666667. För att avrunda detta resultat kan vi använda ROUND-funktionen:

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

Resultatet är 13,67.

Du kan skräddarsy funktionen och ändra parametrarna:

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

Resultatet är 10.

Här är ett exempel på hur du använder negativa parametrar med ROUND:

Du kan också använda den här funktionen för trunkering:

Här är ett exempel på hur du använder den här funktionen med anställdas löner:

Vilka andra funktioner kan kombineras med ROUND i SQL Server?

ROUND-funktionen är ett mångsidigt verktyg som kan användas i många situationer. Du kan kombinera många funktioner med ROUND i SQL Server. Här är de:CEILING, GOLV, TRUNCATE, SQRT, MIN och MAX, MOD, POWER, SQUARE ROT och LOG.

Vad är parametrarna?

ROUND() tar två argument:det första är talet som ska avrundas, och det andra argumentet anger hur många decimaler det ska avrundas till.

Standardprecisionen för avrundning är 0, vilket innebär att tal avrundas till ett heltal. Du kan justera parametrarna, till och med lägga till negativa värden.

Skriv ROUND(5.6) i ditt frågefönster och tryck på Enter. Utdata blir 6 istället för 5 eftersom du avrundade uppåt till nästa heltal (detta skulle ha varit 7 om du hade angett "ROUND(5.7)").

Du kan ange önskat antal decimaler genom att lägga till .n (där n är vilket positivt heltal som helst).

Var kan jag använda det?

Den här snygga lilla funktionen fungerar i SQL Server (från 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse.

Vilka problem löser det?

Den här funktionen är användbar för att avrunda till ett visst antal decimaler och göra din data lättare att arbeta med, men det är inte allt den kan göra.

Det används också för rapporteringsändamål eftersom det kommer att avrunda siffror i aggregerade beräkningar som SUM(), AVG() eller COUNT().

Vi kan använda det som ett strängmanipuleringsverktyg som konverterar alla tecken till versaler. Dessutom kan den användas i kombination med funktioner som SUBSTRING (), TRIM (), LENGTH() och LEFT ().

Kan jag använda ROUND i MySQL?

MySQL är ett relationsdatabashanteringssystem (RDMS) precis som SQL Server, men det är öppen källkod och gratis medan SQL Server kommer med en licens från Microsoft.

MySQL är en av de mest använda databaserna i världen. Det har varit ledande inom nyckelfunktioner som transaktioner, låsmekanismer, återställningslägen, säkerhetsmetoder och skalbarhet, etc.

Det finns en motsvarighet till Round-funktionen i MySQL som heter Truncate. Skriptet är som följer:

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

Obs:Andra språk har sina respektive funktioner. Du bör studera deras aspekter innan implementeringen (särskilt de mer avancerade funktionerna vi nämnde). Besök oss för att hitta svaren på dina frågor.

Vilka andra språk använder Round?

Det finns många språk förutom SQL Server som använder ROUND-funktionen, inklusive Pascal C++ Matlab Apex och så vidare.

Sammanfattning

Såvida du inte är verkligen i matematik är SQL Servers ROUND-funktion tråkigare än en draperiförsäljare från Idaho. Faktum är att det är oerhört tråkigt. Den gör bara en sak – den rundar siffror.

I SQL Server avrundas ett givet tal till ett heltal genom att trunkera siffror efter decimalkomma tills endast en siffra återstår innan avrundning uppåt eller nedåt enligt de angivna reglerna.

Den här funktionen stöds inte på alla språk, men den finns i många av dem, som C# och VB.NET. Du kan också använda ROUND för att konvertera flyttal till heltal samt avrunda strängar.


  1. Hur man hittar den optimala unika identifieraren i en tabell i SQL Server:sp_special_columns

  2. Jag har uppgraderat SQL Server ODBC-drivrutinen och prestandan har påverkats negativt. Vad kan jag göra?

  3. Hur man skapar en meny i SQLPlus eller PL/SQL

  4. Finns det något sätt att ställa in en utgångstid, varefter en datainmatning automatiskt raderas i PostgreSQL?