Tento článek ukazuje, jak explicitně formátovat datum v anglickém formátu Velké Británie při použití T-SQL FORMAT()
funkce na serveru SQL.
Tento argument můžete nebo nemusíte použít v závislosti na jazyku vaší místní relace. Zde je však návod, jak explicitně určit formát data v angličtině pro Velkou Británii.
Příklad 1 – Krátký britský formát data
Chcete-li explicitně určit, že datum má být zobrazeno ve formátu Velké Británie, použijte en-gb
jako argument kultury:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'd', 'en-gb') 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 anglický formát pro Velkou Británii, den je před měsícem (to je na rozdíl od formátu data v USA, kde měsíc předchází den).
Příklad 2 – dlouhý britský 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', 'en-gb') Result;
Výsledek:
+------------------+ | Result | |------------------| | 01 December 2020 | +------------------+
Příklad 3 – Vlastní britský 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', 'en-gb') Result;
Výsledek:
+------------------+ | Result | |------------------| | Tue, 1 Dec, 2020 | +------------------+
Stále určuji kulturu, i když přesně specifikuji, kam se každá komponenta data dostane. Důvod, proč to dělám, je výslovně uvést, který jazyk použít. Vynechání tohoto argumentu může nebo nemusí způsobit problémy v závislosti na používaných jazycích.
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).