sql >> Database >  >> RDS >> Sqlserver

Een datum in Brits formaat weergeven in SQL Server (T-SQL)

Dit artikel laat zien hoe u een datum expliciet opmaakt in de Engelse indeling van Groot-Brittannië bij gebruik van de T-SQL FORMAT() functie in SQL Server.

Het kan zijn dat u dit argument al dan niet nodig heeft, afhankelijk van de taal van uw lokale sessie. Hier leest u echter hoe u de Engelse datumnotatie in Groot-Brittannië expliciet specificeert.

Voorbeeld 1 – Kort Brits datumformaat

Gebruik en-gb . om expliciet te specificeren dat een datum moet worden weergegeven in de Engelse indeling van Groot-Brittannië als het cultuurargument:

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

Resultaat:

+------------+
| Result     |
|------------|
| 01/12/2020 |
+------------+

In dit geval gebruikte ik een kleine letter d als tweede argument. Dit resulteert in een relatief korte datumnotatie, waarbij de dag en de maand als getallen worden weergegeven.

En omdat we de Engelse indeling in Groot-Brittannië gebruiken, komt de dag vóór de maand (dit in tegenstelling tot de Amerikaanse datumindeling, waar de maand vóór de dag komt).

Voorbeeld 2 – Lange Britse datumnotatie

U kunt het tweede argument wijzigen in een hoofdletter D om te resulteren in een langere datumnotatie, met de maand gespeld:

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

Resultaat:

+------------------+
| Result           |
|------------------|
| 01 December 2020 |
+------------------+

Voorbeeld 3 – Aangepast Brits datumformaat

U kunt indien nodig ook een aangepaste datumnotatie gebruiken. Hiermee kunt u expliciet aangeven hoe en waar elke datumcomponent naartoe gaat.

Voorbeeld:

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

Resultaat:

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

Ik specificeer nog steeds een cultuur, ook al specificeer ik precies waar elke datumcomponent naartoe gaat. De reden dat ik dit doe, is om expliciet aan te geven welke taal ik moet gebruiken. Het weglaten van dit argument kan al dan niet problemen veroorzaken, afhankelijk van de gebruikte talen.

Uw huidige sessie controleren

Bij gebruik van de FORMAT() functie, als het cultuurargument niet is opgegeven, wordt de taal van de huidige sessie gebruikt. Deze taal wordt ofwel impliciet, ofwel expliciet ingesteld met behulp van de SET LANGUAGE verklaring.

Voor meer informatie vindt u hier 3 manieren om de taal van de huidige sessie in SQL Server (T-SQL) te krijgen.

Zie ook Hoe u de huidige taal in SQL Server (T-SQL) instelt.


  1. 4 manieren om alle weergaven in een SQL Server-database weer te geven

  2. Wat is het equivalent van Oracle's REF CURSOR in MySQL bij gebruik van JDBC?

  3. Hoe op te lossen Het probleem met de authenticatie-plug-in 'caching_sha2_password' kan niet worden geladen

  4. De snelste manier om te controleren of sommige records in een databasetabel staan?