sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man visar ett datum i brittiskt format i SQL Server (T-SQL)

Den här artikeln visar hur du uttryckligen formaterar ett datum i Storbritanniens engelska format när du använder T-SQL FORMAT() funktion i SQL Server.

Du kanske behöver använda detta argument eller inte, beroende på språket för din lokala session. Men här är hur du uttryckligen specificerar Storbritanniens engelska datumformat.

Exempel 1 – Kort brittiskt datumformat

För att uttryckligen ange att ett datum ska visas i Storbritanniens engelska format, använd en-gb som kulturargumentet:

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

Resultat:

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

I det här fallet använde jag en liten d som det andra argumentet. Detta resulterar i ett relativt kort datumformat, där dagen och månaden visas som siffror.

Och eftersom vi använder Storbritanniens engelska format kommer dagen före månaden (detta är i motsats till det amerikanska datumformatet, där månaden kommer före dagen).

Exempel 2 – Långt brittiskt datumformat

Du kan ändra det andra argumentet till en versal D för att resultera i ett längre datumformat, med månaden utskriven:

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

Resultat:

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

Exempel 3 – Anpassat brittiskt datumformat

Du kan också använda ett anpassat datumformat om det behövs. Detta låter dig uttryckligen ange exakt hur och var varje datumkomponent går.

Exempel:

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

Resultat:

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

Jag anger fortfarande en kultur även om jag anger exakt var varje datumkomponent går. Anledningen till att jag gör detta är att uttryckligen ange vilket språk som ska användas. Att utelämna detta argument kan eller kanske inte orsaka problem, beroende på vilka språk som används.

Kontrollera din aktuella session

När du använder FORMAT() funktion, om kulturargumentet inte tillhandahålls används språket för den aktuella sessionen. Detta språk ställs in antingen implicit eller explicit genom att använda SET LANGUAGE uttalande.

För mer information, här är tre sätt att få språket för den aktuella sessionen i SQL Server (T-SQL).

Se även Hur man ställer in det aktuella språket i SQL Server (T-SQL).


  1. hur man återställer standby-databas från en saknad arkivlogg

  2. Genomsnittlig floatinkonsekvens

  3. Hur du kontrollerar din SQL Server-version

  4. Returnerar COUNT(*) alltid ett resultat?