SQLShack (Deutsch)

Veröffentlicht in: Articles | 0

Dieser Artikel erklärt die Verwendung von SQL-Format-Funktion und performance-Vergleich mit SQL KONVERTIEREN.

Einführung

Im Artikel SQL Convert Date Funktionen und Formate diskutierten wir die Verwendung der SQL CONVERT Funktion zum Konvertieren von Datum und Uhrzeit in mehrere Formate. Wir haben eine neue Funktion, SQL FORMAT, von SQL Server 2012.

Wir verwenden diese neue Funktion, um die Ausgabe in einem bestimmten Format und Kultur zu erhalten. Es gibt einen NVARCHAR-Datentyp in der Ausgabe zurück.,

Syntax der SQL-Formatfunktion

FORMAT (Wert, Format )

Es hat die folgenden Parameter:

  • Wert: Es ist der Wert für die Formatierung. Es sollte das Datentypformat unterstützen. In der Microsoft-Dokumentation finden Sie eine Liste der unterstützten Datentypen und des entsprechenden Datentyps
  • Format: Es ist das erforderliche Format, in dem die Ausgabe erforderlich ist. Dieser Parameter sollte eine gültige. NET-Formatzeichenfolge im Datentyp NVARCHAR enthalten. Wir können auf Formattypen in verweisen .,NET für weitere Details
  • Kultur: Es ist ein optionaler Parameter. Standardmäßig verwendet SQL Server die aktuelle Sitzungssprache für eine Standardkultur. Wir können hier eine bestimmte Kultur bereitstellen, aber das.Net Framework sollte dies unterstützen., 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.,

Wir benötigen keinen Formatcode in der SQL-Formatfunktion. Schauen wir uns verschiedene Beispiele für die Formatfunktion an:

SQL Format Date mit Culture

Im vorherigen Abschnitt haben wir das culture Argument nicht verwendet. Wie Sie wissen, ist es ein optionales Argument, also mal sehen, welchen Unterschied es macht, wenn wir es in einer Abfrage angeben.

In der folgenden Abfrage sehen wir das Datumsformat mit dem Argument d für verschiedene Kulturen. Sie können auf die Tabelle für Kulturcodes verweisen.,

Wenn wir das Format in der obigen Abfrage von d nach f ändern, wird die folgende Ausgabe ausgegeben:

SQL-Formatwährung mit Kultur

Mit dieser Funktion können wir auch die Währung formatieren. Angenommen, Sie verwalten ein Online-Shopping-Portal, auf dem Kunden aus einem anderen Land einkaufen gehen. Sie möchten die Produktpreise in ihrer Währung anzeigen., In der folgenden Abfrage verwenden wir die Formatfunktion zum Anzeigen von Preisen mit einem Währungssymbol:

Zahlenformat unter Verwendung der Formatfunktion

Vermeiden Sie Doppel-und Zeiträume in der SQL-Formatfunktion

Wir sollten Doppel-und Zeiträume in dieser Funktion vermeiden, und sie halten sich an die. NET CLR-Regeln gut. Wir können Doppelpunkte und Periode als zweiten Parameter verwenden, und der erste Parameter sollte ein Backslash sein., Lassen Sie uns im folgenden Beispiel sehen, dass die zweite Formatanweisung den Doppelpunkt in der angegebenen Zeit überspringt:

Leistungsvergleich von SQL-FORMAT und SQL-Konvertierungsfunktion

Wir haben die Anwendungsfälle der Formatfunktion untersucht. Sie könnten denken, wir sollten die SQL-Konvertierungsfunktion nicht mehr verwenden und das SQL-FORMAT verwenden. Warte! Lassen Sie uns einen Vergleich von SQL-Format und SQL CONVERT machen.,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 und sys. dm_exec_sql_text, um die Leistungsvergleichsdaten der oben ausgeführten select-Anweisungen abzurufen.

    Wir erhalten die folgende Ausgabe vom DMV:

    Um es besser zu verstehen, sehen wir uns diese Daten in einem Diagramm an:

    Schauen Sie sich das Diagramm für Abfrage 2, 3 und 4 an.,

    • Wir erhalten eine hohe verstrichene Zeit für die Abfrage, die die SQL-Formatfunktion verwendet
    • Abfragen, die die Konvertierungsfunktion verwenden, haben eine bessere Leistung im Vergleich zur Formatfunktion
    • Wir sehen auch total_clr_time für die Abfrage mit Formatfunktion, während sie für Konvertierungsfunktionsabfragen Null ist, da die Formatfunktion.Net CLR runtime

    Die SQL-Formatfunktion ist nützlich, um Datum, Uhrzeit, Nummer und Währung in ein bestimmtes Format umzuwandeln. Wir sollten es verwenden, wenn wir locale-aware Änderungen nur benötigen, da es Leistungsprobleme verursachen könnte., Wir sollten die SQL-Konvertierungsfunktion für alle anderen Fälle verwenden. Wenn Sie planen, es in der Produktion zu verwenden, würde ich empfehlen, einen gründlichen Leistungstest für Ihre Arbeitsbelastung durchzuführen.,

    • Author
    • Recent Posts
    Als MCSA certified und Microsoft Certified Trainer in Gurgaon, Indien, mit 13 Jahren erfahrung, Rajendra arbeitet für eine Vielzahl von großen Unternehmen mit Schwerpunkt auf Leistungsoptimierung, Überwachung, Hochverfügbarkeit, und Disaster Recovery Strategien und Umsetzung., Er ist Autor von Hunderten von maßgeblichen Artikeln zu SQL Server, Azure, MySQL, Linux, Power BI, Performance Tuning, AWS/Amazon RDS, Git und verwandten Technologien, die bisher von über 10 millionen Lesern angesehen wurden.
    Er ist der Schöpfer einer der größten kostenlosen Online-Sammlungen von Artikeln zu einem einzigen Thema, mit seiner 50-teiligen Serie auf SQL Server Immer auf Verfügbarkeitsgruppen. Aufgrund seines Beitrags zur SQL Server-Community wurde er 2020 und 2021 kontinuierlich mit verschiedenen Preisen ausgezeichnet, darunter mit dem renommierten „Best Author of the year“ bei SQLShack.,
    Raj ist immer an neuen Herausforderungen interessiert, wenn Sie also Beratungshilfe zu einem Thema benötigen, das in seinen Schriften behandelt wird, kann er bei Rajendra erreicht werden.gupta16@gmail.,com
    Alle Beiträge von Rajendra Gupta

    Neueste Beiträge von Rajendra Gupta (siehe alle)
    • Session Timeouts in SQL Server Always On Availability Groups – 8. Februar 2021
    • Kleinere und größere Versionsupgrades für AWS RDS SQL Server durchführen – 29. 2021
    • Bereitstellen von AWS RDS PostgreSQL – Instanzen-27. Januar 2021

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.