Denne artikel demonstrerer, hvordan man eksplicit formaterer en dato i engelsk engelsk format, når man bruger T-SQL FORMAT()
funktion i SQL Server.
Du behøver muligvis ikke bruge dette argument, afhængigt af sproget på din lokale session. Men her er, hvordan du eksplicit specificerer Storbritanniens engelske datoformat.
Eksempel 1 – Kort britisk datoformat
Brug en-gb
for eksplicit at angive, at en dato skal vises i engelsk format. som kulturargumentet:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'd', 'en-gb') Result;
Resultat:
+------------+ | Result | |------------| | 01/12/2020 | +------------+
I dette tilfælde brugte jeg et lille d
som det andet argument. Dette resulterer i et relativt kort datoformat, hvor dagen og måneden vises som tal.
Og fordi vi bruger Storbritannien engelsk format, kommer dagen før måneden (dette er i modsætning til det amerikanske datoformat, hvor måneden kommer før dagen).
Eksempel 2 – Langt britisk datoformat
Du kan ændre det andet argument til et stort D
for at resultere i et længere datoformat med måneden angivet:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'D', 'en-gb') Result;
Resultat:
+------------------+ | Result | |------------------| | 01 December 2020 | +------------------+
Eksempel 3 – Brugerdefineret britisk datoformat
Du kan også bruge et brugerdefineret datoformat, hvis det kræves. Dette giver dig mulighed for eksplicit at angive præcis, hvordan og hvor hver datokomponent går hen.
Eksempel:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'ddd, d MMM, yyyy', 'en-gb') Result;
Resultat:
+------------------+ | Result | |------------------| | Tue, 1 Dec, 2020 | +------------------+
Jeg angiver stadig en kultur, selvom jeg angiver præcis, hvor hver date-komponent går hen. Grunden til, at jeg gør dette, er for eksplicit at angive, hvilket sprog der skal bruges. Udeladelse af dette argument kan muligvis forårsage problemer, afhængigt af de sprog, der bruges.
Tjekker din aktuelle session
Når du bruger FORMAT()
funktion, hvis kulturargumentet ikke er angivet, bruges sproget for den aktuelle session. Dette sprog indstilles enten implicit eller eksplicit ved at bruge SET LANGUAGE
erklæring.
For mere info, her er 3 måder at få sproget for den aktuelle session i SQL Server (T-SQL).
Se også Sådan indstilles det aktuelle sprog i SQL Server (T-SQL).