Resume: i denne vejledning lærer du, hvordan du bruger serveren DATETIME2
til at gemme både dato-og klokkeslætsdata i en tabel.
Introduktion til DATETIME2
hvis du vil gemme både dato og klokkeslæt i databasen, skal du bruge datatypen data.
syntaksen for DATETIME2
er som følger:
Code language: SQL (Structured Query Language) (sql)
den fraktionerede sekunders præcision er valgfri. Det spænder fra 0 til 7.
følgende erklæring illustrerer, hvordan man opretter en tabel, der består af en DATETIME2
kolonne:
Code language: SQL (Structured Query Language) (sql)
DATETIME2
har to komponenter: dato og klokkeslæt.
- datoen har et interval fra januar 01, 01 (0001-01-01) til December 31, 9999 (9999-12-31)
- tiden har et interval fra 00: 00: 00 til 23: 59: 59.9999999.
Lagringsstørrelsen på en DATETIME2
værdi afhænger af den fraktionerede sekunders præcision. Det kræver 6 bytes for den præcision, der er mindre end 3, 7 bytes for den præcision, der er mellem 3 og 4, og 8 bytes for alle andre præcisioner.
standardstrengens bogstavelige format for DATETIME2
er som følger:
Code language: SQL (Structured Query Language) (sql)
i dette format:
-
YYYY
er et firecifret tal, der repræsenterer et år f.eks. 2018. Det spænder fra 0001 til 9999. -
MM
er et tocifret tal, der repræsenterer en måned i et år, f.eks. 12. Det spænder fra 01 til 12. -
DD
er et tocifret tal, der repræsenterer en dag i en bestemt måned, f.eks. 23. Det spænder fra 01 til 31. -
hh
er et tocifret tal, der repræsenterer timen. Det spænder fra 00 til 23. -
mm
er et tocifret tal, der repræsenterer minuttet. Det spænder fra 00 til 59. -
ss
er et tocifret tal, der repræsenterer det andet. Det spænder fra 00 til 59. - de brøkdele sekunder er nul til et syvcifret tal, der spænder fra 0 til 9999999.
eksempel
følgende sætning opretter en ny tabel, der har en created_at
kolonne, hvis datatype er DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
for at indsætte den aktuelle dato og klokkeslæt i kolonnen created_at
bruger du følgende INSERT
sætning med funktionen GETDATE
() :
Code language: SQL (Structured Query Language) (sql)
funktionen GETDATE
() svarer til funktionen NOW()
i andre databasesystemer som f. eks.
for at indsætte en bogstavelig værdi i kolonnen DATETIME2
bruger du følgende sætning:
Code language: SQL (Structured Query Language) (sql)
hvis du vil indstille standardværdien for kolonnen created_at
til den aktuelle dato og klokkeslæt, skal du bruge følgende ALTER TABLE
sætning:
Code language: SQL (Structured Query Language) (sql)
i denne erklæring bruger vi CURRENT_TIMESTAMP
som standardværdi for kolonnen created_at
. Bemærk, at CURRENT_TIMESTAMP
returnerer den samme værdi som funktionen GETDATE
().
nu, når du indsætter en ny række i tabellen uden at angive værdien for kolonnen created_at
, bruger vi den aktuelle dato og klokkeslætsværdi for den kolonne:
Code language: SQL (Structured Query Language) (sql)
i denne vejledning har du lært, hvordan du bruger datatypen DATETIME2
til at gemme både dato-og klokkeslætsdata i en tabel.