sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man visar ett datum i amerikanskt datumformat i SQL Server (T-SQL)

I SQL Server kan du använda T-SQL FORMAT() funktion för att visa ett datum i önskat format. Den här funktionen accepterar ett valfritt "kultur"-argument, som du kan använda för att ange amerikanskt datumformat.

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

Exempel 1 – Kort amerikanskt datumformat

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

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

Resultat:

+-----------+
| Result    |
|-----------|
| 12/1/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 ett amerikanskt datumformat kommer månaden före dagen.

Exempel 2 – Långt amerikanskt datumformat

Om jag ändrar det till en versal D , jag får ett längre format, med dagen och månaden utskrivna:

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

Resultat:

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

Exempel 3 – Anpassat datumformat i USA

Om du tycker att datumformaten ovan är för restriktiva kan du alltid ange ett anpassat datumformat. Till exempel, om du gillar det föregående exemplet, förutom att du föredrar att bara ha de tre första bokstäverna i dagen och månaden, kan du göra så här:

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

Resultat:

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

Det som är bra med anpassade datumformat är att det ger dig mycket flexibilitet. Du kan byta komponenter och de visas precis där du vill ha dem.

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. Förbättra backend-prestanda Del 2/3:Använda databasindex

  2. Saknade index i MS SQL eller optimering på nolltid

  3. Hur man avinstallerar SQL Server Management Studio(SSMS) - SQL Server/TSQL Tutorial Del 23.1

  4. Git-tips och bästa praxis för nybörjare