sammanfattning: i denna handledning lär du dig hur du använder SQL Server DATETIME2 för att lagra både datum-och tidsdata i en tabell.
introduktion till SQL Server DATETIME2
för att lagra både datum och tid i databasen använder du datatypen SQL Server DATETIME2.
syntaxen för DATETIME2 är som följer:
Code language: SQL (Structured Query Language) (sql)
den fraktionerade sekunders precisionen är valfri. Det sträcker sig från 0 till 7.
följande uttalande illustrerar hur man skapar en tabell som består av en DATETIME2 kolumn:
Code language: SQL (Structured Query Language) (sql)
DATETIME2 har två komponenter: datum och tid.
- datumet har ett intervall från januari 01, 01 (0001-01-01) till December 31, 9999 (9999-12-31)
- tiden har ett intervall från 00:00:00 till 23: 59: 59.9999999.
lagringsstorleken för ett DATETIME2 – värde beror på bråksekunderprecisionen. Det kräver 6 byte för precisionen som är mindre än 3, 7 byte för precisionen som är mellan 3 och 4 och 8 byte för alla andra precisioner.
standardsträngens bokstavsformat för DATETIME2 är som följer:
Code language: SQL (Structured Query Language) (sql)
i detta format:
-
YYYYär ett fyrsiffrigt nummer som representerar ett år t.ex. 2018. Det sträcker sig från 0001 till 9999. -
MMär ett tvåsiffrigt tal som representerar en månad på ett år, t.ex. 12. Den sträcker sig från 01 till 12. -
DDär ett tvåsiffrigt tal som representerar en dag i en viss månad, t.ex. 23. Det sträcker sig från 01 till 31. -
hhär ett tvåsiffrigt tal som representerar timmen. Det sträcker sig från 00 till 23. -
mmär ett tvåsiffrigt tal som representerar minuten. Det sträcker sig från 00 till 59. -
ssär ett tvåsiffrigt tal som representerar det andra. Det sträcker sig från 00 till 59. - de fraktionerade sekunderna är noll till ett sjusiffrigt tal som sträcker sig från 0 till 9999999.
SQL Server DATETIME2 exempel
följande uttalande skapar en ny tabell som har en created_at kolumn vars datatyp är DATETIME2:
Code language: SQL (Structured Query Language) (sql)
om du vill infoga aktuellt datum och tid i kolumnen created_at använder du följande INSERT – sats med funktionen GETDATE() :
Code language: SQL (Structured Query Language) (sql)
funktionen GETDATE() liknar funktionen NOW() i andra databassystem som MySQL
för att infoga ett bokstavligt värde i kolumnen DATETIME2 använder du följande uttalande:
Code language: SQL (Structured Query Language) (sql)
om du vill ställa in standardvärdet för kolumnen created_at till aktuellt datum och tid använder du följande ALTER TABLE – sats:
Code language: SQL (Structured Query Language) (sql)
i detta uttalande använder vi CURRENT_TIMESTAMP som standardvärde för kolumnen created_at. Observera att CURRENT_TIMESTAMP returnerar samma värde som funktionen GETDATE ().
nu, när du infogar en ny rad i tabellen utan att ange värdet för kolumnen created_at, använder SQL Server det aktuella datum – och tidsvärdet för den kolumnen:
Code language: SQL (Structured Query Language) (sql)
i den här handledningen har du lärt dig hur du använder datatypen SQL Server DATETIME2 för att lagra både datum-och tidsdata i en tabell.