sql >> Databasteknik >  >> RDS >> Sqlserver

Standard formatsträngar för datum/tid som stöds av FORMAT() i SQL Server

Den här artikeln innehåller en lista över standardsträngar för datum- och tidsformat som kan användas vid formatering av datum och/eller tider med FORMAT() funktion i SQL Server, tillsammans med exempel som använder olika kulturer och datatyper.

Dessa är standardspecifikationerna för datum- och tidsformat som stöds av .NET Framework och därför SQL Server. Varje standardsträng för datum- och tidsformat är ett alias för en anpassad datum- och tidsformatsträng.

US engelska exempel med 'datetime2'

Följande tabell innehåller alla standardspecifikationer för datum- och tidsformat.

Exemplen antar en datetime2(7) värde på 2030-05-25 23:59:30.1234567 och använd en-us som värdet av kulturargumentet (för amerikansk engelska).

Formatera sträng Exempel
d 5/25/2030
D Lördagen den 25 maj 2030
f Lördagen den 25 maj 2030 23:59
F Lördag 25 maj 2030 23:59:30
g 25/5/2030 23:59
G 5/25/2030 23:59:30
M eller m 25 maj
O eller o 2030-05-25T23:59:30.1234567
R eller r lör 25 maj 2030 23:59:30 GMT
s 2030-05-25T23:59:30
t 23:59
T 23:59:30
u 2030-05-25 23:59:30Z
U Lördag 25 maj 2030 23:59:30
Y eller y Maj 2030

amerikansk engelska med "datetimeoffset"

De flesta resultat är desamma när du använder en datumtidsförskjutning värde. Men O /o formatsträngar har ett annat resultat (resultatet bevarar tidszonsinformation), och U formatsträngen resulterar i NULL (detta beror på att datetime offset datatypen stöder inte U formatspecifikation).

Följande exempel antar en datumtidsförskjutning värde på 2030-05-25 23:59:30.1234567 +07:00 och använd kulturargumentet en-us .

Formatera sträng Exempel
d 5/25/2030
D Lördagen den 25 maj 2030
f Lördagen den 25 maj 2030 23:59
F Lördag 25 maj 2030 23:59:30
g 25/5/2030 23:59
G 5/25/2030 23:59:30
M eller m 25 maj
O eller o 2030-05-25T23:59:30.1234567+07:00
R eller r lör 25 maj 2030 16:59:30 GMT
s 2030-05-25T23:59:30
t 23:59
T 23:59:30
u 2030-05-25 16:59:30Z
U NULL*
Y eller y Maj 2030

* DateTimeOffset datatypen stöder inte formatspecifikationen "U", så resultatet är NULL . Men om vi använde en datetime2 värde och släppte offset, skulle vi få lördag 25 maj 2030 23:59:30 .

Invariant kulturexempel med 'datetime2'

Följande exempel använder den invarianta kulturen. Den invarianta kulturen är kulturokänslig; det är associerat med det engelska språket men inte med något land/region. När du formaterar ett datum/tidsvärde med FORMAT() , kan du specificera den invarianta kulturen genom att skicka 'iv' som det tredje argumentet.

Dessa exempel antar en datetime2(7) värde på 2030-05-25 23:59:30.1234567 och använd iv för kulturargumentet (som används för att specificera den invarianta kulturen).

Formatera sträng Exempel
d 05/25/2030
D Lördag 25 maj 2030
f Lördag 25 maj 2030 23:59
F Lördag 25 maj 2030 23:59:30
g 05/25/2030 23:59
G 05/25/2030 23:59:30
M eller m 25 maj
O eller o 2030-05-25T23:59:30.1234567
R eller r lör 25 maj 2030 23:59:30 GMT
s 2030-05-25T23:59:30
t 23:59
T 23:59:30
u 2030-05-25 23:59:30Z
U Lördag 25 maj 2030 23:59:30
Y eller y 2030 maj

Invariant kultur med 'datetime offset'

Dessa exempel antar en datum- och tidsförskjutning värde på 2030-05-25 23:59:30.1234567 +07:00 och använd iv kultur.

Formatera sträng Exempel
d 05/25/2030
D Lördag 25 maj 2030
f Lördag 25 maj 2030 23:59
F Lördag 25 maj 2030 23:59:30
g 05/25/2030 23:59
G 05/25/2030 23:59:30
M eller m 25 maj
O eller o 2030-05-25T23:59:30.1234567+07:00
R eller r lör 25 maj 2030 16:59:30 GMT
s 2030-05-25T23:59:30
t 23:59
T 23:59:30
u 2030-05-25 16:59:30Z
U NULL*
Y eller y 2030 maj

* DateTimeOffset datatypen stöder inte formatspecifikationen "U", så resultatet är NULL . Men om vi använde en datetime2 värde och släppte offset, skulle vi få Lördag 25 maj 2030 23:59:30 .


  1. SQL Server List Tabeller:Hur man visar alla tabeller

  2. Aggregera en enda kolumn i frågan med många kolumner

  3. Hur räknar man antalet förekomster av en karaktär i ett Oracle-varchar-värde?

  4. 7 sätt att hitta dubbletter av rader i SQL Server samtidigt som du ignorerar en primärnyckel