SQLShack (Nederlands)

geplaatst in: Articles | 0

Dit artikel legt het gebruik van SQL Format functie en prestatie vergelijking met SQL CONVERT uit.

Inleiding

In het artikel SQL Convert date functies en formaten, bespraken we het gebruik van SQL CONVERT functie voor het converteren van datum en tijd in meerdere formaten. We hebben een nieuwe functie, SQL-formaat, van SQL Server 2012.

we gebruiken deze nieuwe functie om uitvoer in een bepaald formaat en cultuur te krijgen. Het retourneert een nvarchar gegevenstype in de uitvoer.,

syntaxis van SQL FORMAT Function

FORMAT (value, format )

Het heeft de volgende parameters:

  • waarde: het is de waarde om te formatteren. Het moet ter ondersteuning van het gegevenstype formaat. U kunt naar de documentatie van Microsoft verwijzen voor een lijst met ondersteunde gegevenstypen en hun equivalente gegevenstype
  • formaat: Het is het vereiste formaat waarin we de uitvoer nodig hebben. Deze parameter moet een geldige. net format string bevatten in het nvarchar data type. We kunnen verwijzen naar Format types in .,NET voor meer details
  • cultuur: het is een optionele parameter. Standaard gebruikt SQL Server de huidige sessietaal voor een standaardcultuur. We kunnen hier een specifieke cultuur bieden, maar het. NET framework zou dat moeten ondersteunen., 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.,

we hebben geen opmaakcode nodig in de SQL-opmaakfunctie. Laten we eens kijken naar verschillende voorbeelden van de opmaakfunctie:

SQL-Opmaakdatum met behulp van Cultuur

In de vorige sectie hebben we het cultuurargument niet gebruikt. Zoals je weet, is het een optioneel argument, dus laten we eens kijken wat het verschil maakt als we het specificeren in een query.

in de onderstaande query zien we datumnotatie met D-argument voor verschillende culturen. U kunt verwijzen naar de tabel voor cultuurcodes.,

Evenzo, als we het formaat wijzigen van d naar f in de bovenstaande query, geeft het de volgende uitvoer:

SQL formaat valuta met behulp van Cultuur

We kunnen ook valuta formatteren met behulp van deze functie. Stel dat u het beheer van een online shopping portal waar klanten uit een ander land komen om te winkelen. U wilt de prijzen van het product weer te geven in hun valuta., In de volgende query gebruiken we de opmaakfunctie voor het weergeven van prijzen met een valutasymbool:

getalnotatie met behulp van opmaakfunctie

ontsnappende dubbele punten en perioden in SQL-opmaakfunctie

We moeten dubbele punten en perioden in deze functie vermijden, en het is vasthouden aan de.net CLR regels ook. We kunnen dubbele punten en punt gebruiken als de tweede parameter, en de eerste parameter zou een backslash moeten zijn., In het volgende voorbeeld, zie het tweede format statement slaat de dubbele punt over in de opgegeven tijd:

prestatie vergelijking van SQL formaat en SQL CONVERT functie

we hebben de use cases van FORMAT functie onderzocht. Je zou kunnen denken dat we moeten stoppen met het gebruik van de SQL CONVERT functie en beginnen met het SQL-formaat. Wacht! Laten we een vergelijking maken van zowel SQL-formaat als SQL CONVERT.,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 en sys. dm_exec_sql_text om de prestatievergelijkingsgegevens te krijgen van de geselecteerde statements die we hierboven hebben uitgevoerd.

    we krijgen de volgende uitvoer van de DMV:

    om het beter te begrijpen, bekijken we deze gegevens in een grafiek:

    Kijk naar de grafiek voor query 2, 3 en 4.,

    • We krijgen een hoge verstreken tijd voor de query die gebruik maakt van SQL FORMAT functie
    • query ’s die gebruik maken van de CONVERT functie hebben betere prestaties vergeleken met FORMAT functie
    • we zien ook total_clr_time voor de query met FORMAT functie terwijl het nul is voor CONVERT functie query’ s omdat de format functie gebruikt.Net CLR runtime

    conclusie

    SQL FORMAT functie is nuttig om de data, tijd, aantal te converteren, valuta in een bepaald formaat. We moeten het alleen gebruiken als we lokale veranderingen nodig hebben omdat het problemen met de prestaties kan veroorzaken., We zouden de SQL CONVERT functie moeten gebruiken voor alle andere gevallen. Als u van plan bent om het te gebruiken in de productie, zou ik aanraden om een grondige prestatietest te doen voor uw werkdruk.,

    • auteur
    • recente berichten
    als MCSA Certified en Microsoft certified trainer in Gurgaon, India, met 13 jaar ervaring, Rajendra werkt voor een verscheidenheid van grote bedrijven gericht op prestatie-optimalisatie, monitoring, hoge beschikbaarheid, en disaster recovery strategieën en implementatie., Hij is de auteur van honderden gezaghebbende artikelen over SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS/Amazon RDS, Git, en aanverwante technologieën die zijn bekeken door meer dan 10m lezers tot nu toe.
    hij is de maker van een van de grootste gratis online collecties van artikelen over een enkel onderwerp, met zijn 50-delige serie op SQL Server Always On Availability Groups. Op basis van zijn bijdrage aan de SQL Server community, werd hij in 2020 en 2021 bij SQLShack onderscheiden met verschillende prijzen, waaronder de prestigieuze “beste auteur van het jaar”.,Raj is altijd geïnteresseerd in nieuwe uitdagingen, dus als je advies nodig hebt over een onderwerp dat in zijn geschriften wordt behandeld, kan hij worden bereikt in rajendra.gupta16@gmail.,com
    Bekijk alle berichten van Rajendra Gupta

    Laatste berichten door Rajendra Gupta (zie all)
    • Sessie time-outs in SQL Server Altijd Over de Beschikbaarheid van deze Groepen – 8 februari 2021
    • Uitvoeren van kleine en grote versie-upgrades voor AWS RDS-SQL Server – 29 januari 2021
    • het Implementeren van AWS RDS-PostgreSQL gevallen, 27 januari 2021

    Geef een reactie

    Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *