s .lshack

posted in: Articles | 0

Denne artikel forklarer brugen af S .l-formatfunktion og præstationssammenligning med s .l CONVERT.

introduktion

i artiklen s .l konverter Datofunktioner og formater diskuterede vi brugen af S .l konverter funktion til konvertering af dato og tid til flere formater. Vi har en ny funktion, S .l FORMAT, FRA s .l Server 2012.

Vi bruger denne nye funktion til at få output i et bestemt format og kultur. Det returnerer en nvarchar datatype i output.,

Syntaks af SQL-FORMAT Funktion

FORMAT (værdi format )

Det har følgende parametre:

  • Værdi: Det er den værdi, til at gøre formatering. Det skal være til støtte for datatypeformatet. Du kan henvise til Microsoft-dokumentation for en liste over understøttede datatyper og deres tilsvarende datatype
  • Format: Det er det krævede format, hvor vi har brug for output. Denne parameter skal indeholde en gyldig. net-formatstreng i nvarchar-datatypen. Vi kan henvise til Formattyper i .,NET for flere detaljer
  • Kultur: det er en valgfri parameter. Som standard bruger S .l Server det aktuelle sessionssprog til en standardkultur. Vi kan tilbyde en bestemt kultur her, men.Net frame .ork skal understøtte den., We get an error message in case of invalid Culture

We use the following SQL CONVERT function to get output in format:

1
SELECT CONVERT(VARCHAR(10), GETDATE(), 101) AS

As we know, we require format code in SQL Convert function for converting output in a specific format.,

Vi kræver ikke formatkode I S .l-formatfunktion. Lad os se på forskellige eksempler på FORMATFUNKTIONEN:

s .l-Format Dato ved hjælp af kultur

i det foregående afsnit brugte vi ikke kulturargumentet. Som du ved, er det et valgfrit argument, så lad os se, hvilken forskel det gør, hvis vi specificerer det i en forespørgsel.

i nedenstående forespørgsel ser vi datoformat ved hjælp af D-argument for forskellige kulturer. Du kan henvise til tabellen for kulturkoder.,

tilsvarende, hvis vi ændrer formatet fra d til f i ovenstående forespørgsel, giver det følgende output:

s .l-Format valuta ved hjælp af kultur

Vi kan også formatere valuta ved hjælp af denne funktion. Antag, at du administrerer en online shoppingportal, hvor kunder fra et andet land kommer til shopping. Du vil vise produktpriserne i deres valuta., I den følgende forespørgsel, bruger vi det FORMAT funktion for at vise priser med en valuta symbol:

Antal format ved hjælp af FORMAT funktion

Flygter Kolon og Perioder i SQL-FORMAT funktion

Vi skal undgå kolon og perioder i denne funktion, og det er at tilslutte sig den .NET CLR regler. Vi kan bruge colons og periode som den anden parameter, og den første parameter skal være en backslash., I det følgende eksempel, lad os se den anden format-sætning springer kolon i den tid, der er angivet:

Performance sammenligning af SQL-FORMAT og SQL-KONVERTER funktion

Vi undersøgt brugen tilfælde af FORMAT-funktionen. Du tror måske, at vi skal stoppe med at bruge S .l CONVERT-funktionen og begynde at bruge S .l-formatet. Vent! Lad os lave en sammenligning af både S .l-FORMAT og S .l-konvertering.,v>

  • Query4: Select all records from TestPerfomance order by ID column and use FORMAT function for the InputTime column:

    1
    2
    3
    4

    SELECT FORMAT(InputTime, ‘yyyy-MM-dd’)
    FROM TestPerformance
    ORDER BY id;
    GO 10

  • We can use DMV sys.,dm_exec_query_stats og sys.dm_exec_sql_text at få resultater sammenligning af data for de udvalgte udsagn vi henrettet ovenfor.

    så får Vi følgende output fra DMV:

    for At forstå det bedre, lad os se disse data i en graf:

    Kig på grafen for forespørgslen 2, 3 og 4.,

    • får Vi høj forløbet tid for den forespørgsel, der bruger SQL-FORMAT funktion
    • Forespørgsler, der bruger KONVERTERE funktion har bedre resultater sammenlign til af FORMATERE funktion
    • Vi også se total_clr_time for forespørgslen med FORMAT funktion, mens den er nul for at KONVERTERE funktion forespørgsler, fordi format-funktionen bruger .Net CLR runtime

    Konklusion

    SQL-FORMAT funktion er nyttig til at konvertere datoer, klokkeslæt, tal -, valuta i et bestemt format. Vi bør bruge det, når vi kræver locale-a .are ændringer, da det kan forårsage problemer med ydeevnen., Vi skal bruge S .l CONVERT-funktionen til alle andre tilfælde. Hvis du planlægger at bruge det i produktionen, vil jeg anbefale at udføre en grundig ydelsestest for din arbejdsbyrde.,

    • Forfatter
    • Seneste Indlæg
    Som en MCSA certificeret Microsoft Certified Trainer i Gurgaon, Indien, med 13 års erfaring, Rajendra arbejder for en række store virksomheder med fokus på optimering, overvågning, høj tilgængelighed og disaster recovery strategier og implementering., Han er forfatter af hundredvis af autoritative artikler på SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS/Amazon RDS, Git, og relaterede teknologier, som er blevet set af mere end 10m læsere til dato.
    Han er skaberen af en af de største gratis online samlinger af artikler om et enkelt emne, med hans 50-del serie om SQL Server Altid På Tilgængelighed Grupper. Baseret på hans bidrag til S .l Server-samfundet er han blevet anerkendt med forskellige priser, herunder den prestigefyldte “årets bedste forfatter” kontinuerligt i 2020 og 2021 på s .lshack.,
    Raj er altid interesseret i nye udfordringer, så hvis du har brug for rådgivning om ethvert emne, der er dækket i hans skrifter, kan han kontaktes på rajendra.gupta16@Gmail.,com
    Vis alle indlæg af Rajendra Gupta

    Seneste indlæg af Rajendra Gupta (se alle)
    • Session timeout i SQL Server Altid På Tilgængelighed Grupper – februar 8, 2021
    • Udfører mindre og større version opgraderinger til AWS RDS SQL Server – 29 januar 2021
    • Implementering AWS RDS-PostgreSQL tilfælde – januar 27, 2021

    Skriv et svar

    Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *