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 | 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 | 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 | 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 | 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
.