SQLShack (Norsk)

posted in: Articles | 0

Denne artikkelen forklarer bruk av SQL-Format funksjon og ytelse sammenlignet med SQL-KONVERTERE.

Innledning

I artikkelen SQL Konvertere Dato funksjoner og formater, og vi diskuterte bruk av SQL KONVERTERE funksjon for å konvertere dato og klokkeslett i flere formater. Vi har en ny funksjon, SQL-FORMAT, fra SQL Server-2012.

Vi vil bruke denne nye funksjonen for å få produksjonen i et bestemt format og Kultur. Det gir en NVARCHAR datatype i utgang.,

Syntaks av SQL-FORMAT Funksjon

FORMAT (verdi, format )

den har følgende parametere:

  • Verdi: Det er av verdi å gjøre formatering. Det skal være til støtte for data type format. Du kan se Microsofts dokumentasjon for en liste over støttede datatyper og deres tilsvarende data type
  • Format: Det er det aktuelle formatet som vi krever utgang. Denne parameteren bør inneholde en gyldig .NETTO format string i NVARCHAR datatype. Vi kan referere til Format-typer .,NET for mer informasjon
  • Kultur: Det er en valgfri parameter. Standard SQL Server bruker den gjeldende økten språk for en standard kultur. Vi kan tilby en bestemt kultur her, men .Net rammeverket skal støtte det., 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 trenger ikke kode format i SQL-FORMAT funksjon. La oss se på ulike eksempler på FORMAT-funksjon:

SQL-Format Dato bruke Kultur

I forrige avsnitt gjorde vi ikke bruke kultur argument. Som du vet, det er valgfritt argument, så la oss se hvilken forskjell det gjør hvis vi spesifisere det i en spørring.

I under søket, vi ser dato-format ved hjelp av d argument for ulike kulturer. Du kan se tabellen for kultur-koder.,

på samme måte, hvis vi vil endre formatet fra d til f i over spørring, det gir følgende resultat:

SQL-Format Valuta ved hjelp av Kultur

Vi kan også formatere valuta ved hjelp av denne funksjonen. Tenk deg at du administrere en online shopping portal der kunder fra ulike land kommer for shopping. Du ønsker å vise produktet priser i deres valuta., I det følgende søket, vi bruker FORMATET funksjon for å vise priser med en valuta symbol:

Nummer format ved hjelp av FORMAT-funksjon

Rømmer Kolon og Perioder i SQL-FORMAT funksjon

Vi bør unngå kolon og perioder i denne funksjonen, og det er det å forholde seg til .NET CLR regler som godt. Vi kan bruke kolon og perioden som den andre parameteren, og den første parameteren bør være en omvendt skråstrek., I følgende eksempel, la oss se de andre format uttalelse hopper kolon i den tid som er angitt:

Ytelse sammenligning av SQL-FORMAT og SQL KONVERTERE funksjon

Vi utforsket bruke tilfeller av FORMAT funksjon. Du kanskje tror at vi bør slutte å bruke SQL KONVERTERE funksjon, og begynne å bruke SQL-FORMAT. Vente! La oss gjøre en sammenligning av både SQL-FORMAT og SQL KONVERTERE.,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 å få den ytelse sammenligning av data for å velge uttalelser vi utført over.

    Vi få følgende resultat fra BILTILSYNET:

    for Å forstå det bedre, la oss vise disse dataene i en graf:

    Se på grafen for spørring 2, 3 og 4.,

    • Vi få høy medgått tid for spørring som bruker SQL-FORMAT funksjon
    • Spørringer som bruker KONVERTERE funksjon har bedre ytelse i forhold til FORMAT funksjon
    • Vi også se total_clr_time for søket med FORMAT-funksjonen mens det er null for KONVERTERE funksjon spørsmål fordi formatet funksjonen bruker .Net CLR runtime

    Konklusjon

    SQL-FORMAT funksjonen er nyttig for å konvertere datoer, klokkeslett, tall, valuta i et bestemt format. Vi bør bruke det når vi krever nasjonale innstillinger-klar endringer bare når den kan forårsake ytelsesproblemer., Vi bør bruke SQL KONVERTERE funksjon for alle andre tilfeller. Hvis du planlegger å bruke den i produksjon, vil jeg anbefale å gjøre en grundig ytelse tester for dine oppgaver.,

    • Forfatter
    • Siste Innlegg
    Som en MCSA sertifisert som Microsoft Certified Trainer i Gurgaon, India, med 13 års erfaring, Rajendra fungerer for en rekke store selskaper med fokus på ytelse optimalisering, overvåking, høy tilgjengelighet og gjenoppretting etter katastrofe strategier og gjennomføring., Han er forfatter av hundrevis av autoritative artikler på SQL Server, Azure, MySQL, Linux, Elektriske BI, ytelsesjustering, AWS/Amazon / RDS, Git, og relaterte teknologier som har blitt sett av over 10m lesere oppdatert.
    Han er skaperen av en av de største gratis online samlinger av artikler på et enkelt tema, med hans 50-del serien på SQL Server Alltid På Grupper av Tilgjengelighet. Basert på hans bidrag til SQL Server-samfunnet, han har blitt anerkjent med ulike priser inkludert den prestisjefylte «Beste forfatter av the year» kontinuerlig i 2020 og 2021 på SQLShack.,
    Raj er alltid interessert i nye utfordringer, slik at hvis du har behov for rådgivning hjelpe på alle fag som er dekket i hans skrifter, han kan nås på rajendra.gupta16@gmail.,com
    Vis alle innlegg av Rajendra Gupta

    Siste innlegg av Rajendra Gupta (se alle)
    • Økt tidsavbrudd i SQL Server Alltid På Grupper av Tilgjengelighet februar 8, 2021
    • Utføre små og store versjon oppgraderinger for AWS RDS SQL Server – 29. januar 2021
    • Distribusjon AWS RDS-PostgreSQL-forekomster – 27. januar 2021

    Legg igjen en kommentar

    Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *