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
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
- Ø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