sql >> Database >  >> RDS >> Sqlserver

Een datum weergeven in Amerikaanse datumnotatie in SQL Server (T-SQL)

In SQL Server kunt u de T-SQL FORMAT() . gebruiken functie om een ​​datum in het gewenste formaat weer te geven. Deze functie accepteert een optioneel 'cultuur'-argument, dat u kunt gebruiken om de Amerikaanse datumnotatie te specificeren.

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 Amerikaanse datumnotatie expliciet specificeert.

Voorbeeld 1 – Korte Amerikaanse datumnotatie

Gebruik en-US om expliciet te specificeren dat een datum in Amerikaans-Engels formaat moet worden weergegeven als het cultuurargument:

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

Resultaat:

+-----------+
| Result    |
|-----------|
| 12/1/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 een Amerikaanse datumnotatie gebruiken, komt de maand voor de dag.

Voorbeeld 2 – Lange Amerikaanse datumnotatie

Als ik het verander in een hoofdletter D , krijg ik een langer formaat, met de dag en maand gespeld:

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

Resultaat:

+---------------------------+
| Result                    |
|---------------------------|
| Tuesday, December 1, 2020 |
+---------------------------+

Voorbeeld 3 – Aangepast datumformaat in de VS

Als u vindt dat de bovenstaande datumnotaties te beperkend zijn, kunt u altijd een aangepaste datumnotatie specificeren. Als u bijvoorbeeld het vorige voorbeeld leuk vindt, behalve dat u liever alleen de eerste 3 letters van de dag en de maand gebruikt, kunt u dit doen:

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

Resultaat:

+------------------+
| Result           |
|------------------|
| Tue, Dec 1, 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.

Het goede aan aangepaste datumnotaties is dat het u veel flexibiliteit geeft. U kunt componenten omwisselen en ze verschijnen precies waar u ze wilt hebben.

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. Meest gebruikte zoekopdrachten om Patch toegepast in Oracle-apps te vinden

  2. Hoe de datum te selecteren in de datetime-kolom?

  3. Topantwoorden op 5 brandende vragen over de COALESCE-functie in SQL Server

  4. Hoe verplaats ik mijn bestaande rails-app naar Heroku? (sqlite naar postgres)