sql >> Databáze >  >> RDS >> Sqlserver

Jak zobrazit datum v německém formátu na serveru SQL (T-SQL)

Při formátování data pomocí FORMAT() funkce na serveru SQL Server, bude datum formátováno podle jazyka vaší místní relace. Můžete to však přepsat zadáním jazykové verze, která se má použít, nebo použitím vlastního formátu data.

Tento článek ukazuje, jak explicitně určit německý formát data pomocí volitelného argumentu „kultura“ v FORMAT() funkce. Také ukazuje, jak použít svůj vlastní formát data, pokud je to žádoucí.

Příklad 1 – Krátký německý formát data

Chcete-li explicitně určit, že se má datum zobrazovat v německém formátu, použijte de-de jako třetí argument. Tento (nepovinný) třetí argument určuje, která kultura se má použít.

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'd', 'de-de') Result;

Výsledek:

+------------+
| Result     |
|------------|
| 01.12.2020 |
+------------+

V tomto případě jsem použil malé d jako druhý argument. Výsledkem je relativně krátký formát data, kdy se den a měsíc zobrazují jako čísla.

A protože používáme německý formát, den předchází měsíci a každá složka data je oddělena tečkami.

Příklad 2 – dlouhý německý formát data

Druhý argument můžete změnit na velké D výsledkem bude delší formát data s měsícem uvedeným:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'D', 'de-de') Result;

Výsledek:

+----------------------------+
| Result                     |
|----------------------------|
| Dienstag, 1. Dezember 2020 |
+----------------------------+

Příklad 3 – Vlastní německý formát data

V případě potřeby můžete také použít vlastní formát data. To vám umožní explicitně uvést, jak a kam se každá komponenta data přesune.

Příklad:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'ddd, d. MMM, yyyy', 'de-de') Result;

Výsledek:

+------------------+
| Result           |
|------------------|
| Di, 1. Dez, 2020 |
+------------------+

V tomto případě stále používám argument kultury, abych výslovně určil, který jazyk použít.

Můj systém aktuálně používá americkou angličtinu, takže pokud v tomto příkladu vynechám argument kultury, dostanu následující:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'ddd, d. MMM, yyyy') Result;

Výsledek:

+-------------------+
| Result            |
|-------------------|
| Tue, 1. Dec, 2020 |
+-------------------+

Kontrola aktuální relace

Při použití FORMAT() Pokud není zadán argument kultury, použije se jazyk aktuální relace. Tento jazyk se nastavuje buď implicitně, nebo explicitně pomocí SET LANGUAGE prohlášení.

Další informace naleznete zde 3 způsoby, jak získat jazyk aktuální relace na serveru SQL Server (T-SQL).

Viz také Jak nastavit aktuální jazyk v SQL Server (T-SQL).


  1. Jak vytvářet a manipulovat s databázemi SQL pomocí Pythonu

  2. Uložená procedura nebo funkce očekává parametr, který není zadán

  3. určení znakové sady tabulky / databáze?

  4. Jednoduchý příkaz Postgresql - název sloupce neexistuje