Die SQL Format String Function wird verwendet, um den angegebenen Wert im angegebenen Format zu formatieren. Die Syntax der SQL Server Format Funktion ist
Format(Value, Format, Culture)
- Wert: Bitte geben Sie einen gültigen Ausdruck des unterstützenden Datentyps an.
- Format: Bitte geben Sie eine gültige .NET Framework-Formatzeichenfolge an.
- Kultur: Dies ist ein optionales Argument.
Beispiel für die Datumsformatierung
In diesem String-Funktionsbeispiel haben wir zunächst eine Datetime-Variable deklariert und ihr GETDATE() zugewiesen. Hier werden wir die SQL Server Format-Funktion verwenden, um das Datum in verschiedenen Formaten zurückzugeben. Ich schlage vor, dass Sie den Artikel Standard Date and Time Format Strings lesen, um die String-Formate zu verstehen, die wir in diesem Beispiel verwendet haben.
--Using FORMAT in SQL Server to Format DateDECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'D', 'en-US' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'f', 'en-US' ) AS 'Result 3', FORMAT(@Vardate, 'F', 'en-US' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'g', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'G', 'en-US' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'm', 'en-US' ) AS 'Result 7', FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'O', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'R', 'en-US' ) AS 'Result 10'SELECT FORMAT(@Vardate, 's', 'en-US' ) AS 'Result 11', FORMAT(@Vardate, 'S', 'en-US' ) AS 'Result 12'SELECT FORMAT(@Vardate, 't', 'en-US' ) AS 'Result 13', FORMAT(@Vardate, 'T', 'en-US' ) AS 'Result 14'SELECT FORMAT(@Vardate, 'u', 'en-US' ) AS 'Result 15', FORMAT(@Vardate, 'U', 'en-US' ) AS 'Result 16'SELECT FORMAT(@Vardate, 'Y', 'en-US' ) AS 'Result 17'
SQL Format Datum mit Kultur
In diesem Beispiel verwenden wir die Formatfunktion mit dem dritten Argument Kultur. Damit können Sie den Monatsnamen oder den Tagesnamen in der jeweiligen Landessprache anzeigen lassen. So etwas wie, Tagesname in Japanisch, Chinesisch, Hindi, Russisch, Koreanisch usw.
--Using FORMAT in SQL Server to Format Date (Culture) DECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'dd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'dddd', 'hi-IN' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'd', 'de-DE' ) AS 'Result 3', FORMAT(@Vardate, 'dddd', 'ru-RU' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'MMMM', 'hi-IN' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'MM', 'de-DE' ) AS 'Result 7', FORMAT(@Vardate, 'MMMM', 'ru-RU' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'yy', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'y', 'hi-IN' ) AS 'Result 10'SELECT FORMAT(@Vardate, 'yyyy', 'de-DE' ) AS 'Result 11', FORMAT(@Vardate, 'y', 'ru-RU' ) AS 'Result 12'
Benutzerdefiniertes Format Datum
In diesem Abschnitt über das SQL-Format Datum werden wir benutzerdefinierte Datums-Zeit-Formate definieren. Auf diese Weise können Sie benutzerdefinierte Formate für die Anzeige von Datum und Uhrzeit definieren.
--Using FORMAT in SQL Server to Format Date in Custom FormatDECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'dd/mm/yyyy') AS 'date in dd/mm/yyyy Format' SELECT FORMAT(@Vardate, 'dd/mm/yy') AS 'date in dd/mm/yy Format' SELECT FORMAT(@Vardate, 'd/m/yy') AS 'date in d/m/yy Format' SELECT FORMAT(@Vardate, 'mm/dd/yyyy') AS 'date in mm/dd/yyyy Format' SELECT FORMAT(@Vardate, 'MMMM dddd yyyy hh:mm:ss:mmmm') AS 'date in MMMM dddd yyyy hh:mm:ss:mmmm Format' SELECT FORMAT(@Vardate, 'MMMM yyyy, dddd hh:mm:ss:mmmm') AS 'date in MMMM yyyy, dddd hh:mm:ss:mmmm Format'
Formatierung der Währung anhand der Kultur
In diesem Fall werden wir die Währungswerte anhand der angegebenen Kultur formatieren.
--Using FORMAT in SQL Server to Format Currency CultureDECLARE @Sales INT = 3325 SELECT FORMAT(@Sales, 'c', 'en-US' ) AS 'USA Currency'SELECT FORMAT(@Sales, 'c', 'ru-RU' ) AS 'Russian Currency'SELECT FORMAT(@Sales, 'c', 'hi-IN' ) AS 'Indian Currency'SELECT FORMAT(@Sales, 'c', 'de-DE' ) AS 'Indian Currency'
In diesem Beispiel verwenden wir die Format-Funktion, um die Währung zu formatieren. Auf diese Weise können Sie einfach die Länderwährungssymbole vor dem Geld oder dem Wert anzeigen lassen.
--Using FORMAT in SQL Server to Format Decimal Values in CurrencyDECLARE @Sales DECIMAL(8, 4) = 3325.2569 SELECT FORMAT(@Sales, 'c' ) AS 'Result 1'SELECT FORMAT(@Sales, 'c0' ) AS 'Result 2'SELECT FORMAT(@Sales, 'c1' ) AS 'Result 3'SELECT FORMAT(@Sales, 'c2' ) AS 'Result 4'SELECT FORMAT(@Sales, 'c3' ) AS 'Result 5'SELECT FORMAT(@Sales, 'c4' ) AS 'Result 6'
Sql Server Format Currency Decimals
In diesem Beispiel werden wir die Dezimalwerte in Currency mit dieser Formatfunktion formatieren.
--Using FORMAT in SQL Server to Format Decimal Values in CurrencyDECLARE @Sales DECIMAL(8, 4) = 3325.2569 SELECT FORMAT(@Sales, 'c', 'en-US' ) AS 'Result 1'SELECT FORMAT(@Sales, 'c0', 'hi-IN' ) AS 'Result 2'SELECT FORMAT(@Sales, 'c1', 'ru-RU') AS 'Result 3'SELECT FORMAT(@Sales, 'c2', 'fr-FR' ) AS 'Result 4'SELECT FORMAT(@Sales, 'c3', 'de-DE') AS 'Result 5'SELECT FORMAT(@Sales, 'c4', 'zh-CN') AS 'Result 6'
Zahlen mit Kultur formatieren
In diesem Beispiel werden wir die FORMAT-Funktion verwenden, um Zahlen zu formatieren. Die Kultur legt die Zahlenformate fest. In manchen Ländern werden 100er getrennt, in anderen 1000er usw.
--Using FORMAT in SQL Server to Format NumbersDECLARE @Number DECIMAL(11, 4) = 1453325.2569 SELECT FORMAT(@Number, 'N', 'en-US') AS 'Result 1'SELECT FORMAT(@Number, 'N', 'en-IN' ) AS 'Result 2'SELECT FORMAT(@Number, 'N', 'ru-RU') AS 'Result 3'SELECT FORMAT(@Number, 'N', 'fr-FR' ) AS 'Result 4'SELECT FORMAT(@Number, 'N', 'de-DE') AS 'Result 5'SELECT FORMAT(@Number, 'N', 'zh-CN') AS 'Result 6'
SQL Server Zahlen formatieren
In diesem Beispiel der Formatfunktion werden wir Zahlen formatieren. Um die Zahlen zu formatieren, können Sie die Symbole # verwenden. Oder Sie können auch 0 verwenden, um die Anzahl der Dezimalwerte anzugeben.
--Using FORMAT in SQL Server to Format NumbersDECLARE @Number DECIMAL(10,4) = 945354.1295 DECLARE @Num INT = 945332534 SELECT FORMAT(@Number, '#') AS 'Result 1'SELECT FORMAT(@Number, '#,###' ) AS 'Result 2'SELECT FORMAT(@Number, '#.00') AS 'Result 3'SELECT FORMAT(@Number, '#,###.000' ) AS 'Result 4'SELECT FORMAT(@Num, '###-##-####') AS 'Result 5'