FormatSQL() jest wbudowaną funkcją, która służy do formatowania wartości w określonym formacie. Funkcja FORMAT() jest używana dla wartości daty/czasu oraz wartości liczbowych. Funkcja SQL FORMAT() formatuje wartość z określonym formatem (oraz opcjonalną kulturą w SQL Server 2017). Użyj funkcji FORMAT(), aby sformatować wartości daty/czasu i wartości liczbowe.
Funkcja SQL FORMAT
Formatuj wartość sformatowaną przy użyciu określonego formatu i opcjonalnej kultury. Użyj funkcji FORMAT do formatowania daty/czasu oraz wartości liczbowych jako łańcuchów. Dla ogólnej konwersji typów danych użyj CAST lub CONVERT.
Syntaktyka
SELECT FORMAT (value, format, culture);
Parametry:
- Wartość: Wyrażenie, które ma zostać sformatowane.
- Format: Wzorzec, w którym wyrażenie ma być sformatowane.
- Kultura: Jest całkowicie opcjonalne; określa kulturę.
Zobacz następujący przykład.
DECLARE @d DATETIME = '28/10/2019'; SELECT FORMAT (@d, 'd', 'en-US') AS 'US English Result', FORMAT (@d, 'd', 'no') AS 'Norwegian Result', FORMAT (@d, 'd', 'zu') AS 'Zulu Result', FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result', FORMAT ( @d, 'd', 'de-de' ) AS 'German Result', FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result';
Zobacz dane wyjściowe.
Przykład 2:
Zobacz poniższy kod.
DECLARE @d DATETIME = '10/28/2019'; SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result' ,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result' ,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result' ,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';
Zobacz dane wyjściowe.
Zobaczmy niestandardowe typy formatów.
DECLARE @d DATETIME = GETDATE(); SELECT FORMAT( @d, 'dd/MM/yyyy', 'en-US' ) AS 'DateTime Result' ,FORMAT(123456789,'###-##-####') AS 'Custom Number Result';
Zobacz dane wyjściowe.
#SQL Format Data Przykład
W tym przykładzie najpierw zadeklarowaliśmy zmienną Datetime i przypisaliśmy do niej funkcję GETDATE(). Tutaj użyjemy funkcji Format, aby zwrócić datę w różnych formatach.
Zobacz poniższy przykład kodu.
DECLARE @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'
Zobacz dane wyjściowe.
#Formatowanie daty w bazie danych przy użyciu funkcji Culture
W tym przykładzie użyjemy trzeciego argumentu funkcji format – culture.
Dzięki temu można wyświetlić nazwę miesiąca lub dnia w języku ojczystym – np. nazwa dnia w języku hindi, rosyjskim, koreańskim, japońskim, chińskim itd.
Zobacz poniższe zapytanie.
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'
Zobacz dane wyjściowe.
#Formatowanie waluty za pomocą kultury
W tym przykładzie sformatujemy wartość waluty na podstawie określonej kultury.
DECLARE @Sales INT = 1111 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'
Zobacz wyniki.
W końcu, How To Format Function In SQL Server Tutorial dobiegł końca.
Zalecane posty
Funkcja Replicate
Funkcja LTRIM
Funkcja Lower() Przykład w MySQL i SQL Server
Funkcja Left
Funkcja DIFFERENCE
Funkcja DIFFERENCE