Podsumowanie: w tym samouczku dowiesz się, jak używać SQL Server DATETIME2
do przechowywania danych daty i czasu w tabeli.
Wprowadzenie do SQL Server DATETIME2
aby przechowywać zarówno datę, jak i godzinę w bazie danych, należy użyć typu danych SQL Server DATETIME2
.
składnia DATETIME2
wygląda następująco:
Code language: SQL (Structured Query Language) (sql)
dokładność sekund ułamkowych jest opcjonalna. Waha się od 0 do 7.
poniższe polecenie ilustruje, jak utworzyć tabelę składającą się z kolumny DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
DATETIME2
ma dwa składniki: datę i godzinę.
- Data ma zakres od stycznia 01, 01 (0001-01-01) do grudnia 31, 9999 (9999-12-31)
- czas ma zakres od 00: 00:00 do 23:59: 59.9999999.
rozmiar pamięci o wartości DATETIME2
zależy od ułamkowej dokładności sekund. Wymaga 6 bajtów dla dokładności, która jest mniejsza niż 3, 7 bajtów dla dokładności, która jest między 3 i 4, i 8 bajtów dla wszystkich innych dokładności.
domyślny format litery DATETIME2
jest następujący:
Code language: SQL (Structured Query Language) (sql)
w tym formacie:
-
YYYY
jest czterocyfrową liczbą oznaczającą rok np. 2018. Waha się od 0001 do 9999. -
MM
to dwucyfrowa liczba oznaczająca miesiąc w roku np. 12. Waha się od 01 do 12. -
DD
to dwucyfrowa liczba, która reprezentuje dzień określonego miesiąca, np. 23. Waha się od 01 do 31. -
hh
to dwucyfrowa liczba reprezentująca godzinę. Waha się od 00 do 23. -
mm
to dwucyfrowa liczba reprezentująca minutę. Waha się od 00 do 59. -
ss
to dwucyfrowa liczba, która reprezentuje drugą. Waha się od 00 do 59. - ułamkowe sekundy to zero do siedmiocyfrowej liczby, która waha się od 0 do 9999999.
przykład SQL Server DATETIME2
poniższe polecenie tworzy nową tabelę, która ma kolumnę created_at
, której typ danych to DATETIME2
:
Code language: SQL (Structured Query Language) (sql)
aby wstawić bieżącą datę i czas do kolumny created_at
, użyj następującego polecenia INSERT
z funkcją GETDATE
() :
Code language: SQL (Structured Query Language) (sql)
funkcja GETDATE
() jest podobna do funkcji NOW()
w innych systemach baz danych, takich jak MySQL
aby wstawić literalną wartość do kolumny DATETIME2
, użyj następującego polecenia:
Code language: SQL (Structured Query Language) (sql)
jeśli chcesz ustawić domyślną wartość kolumny created_at
na bieżącą datę i godzinę, użyj następującego polecenia ALTER TABLE
:
Code language: SQL (Structured Query Language) (sql)
w tej instrukcji używamy CURRENT_TIMESTAMP
jako domyślnej wartości dla kolumny created_at
. Zauważ, że CURRENT_TIMESTAMP
zwraca taką samą wartość jak funkcja GETDATE
().
teraz, gdy wstawisz nowy wiersz do tabeli bez podawania wartości dla kolumny created_at
, SQL Server użyje bieżącej wartości daty i czasu dla tej kolumny:
Code language: SQL (Structured Query Language) (sql)
w tym samouczku nauczyłeś się, jak używać typu danych SQL Server DATETIME2
do przechowywania zarówno Danych daty, jak i czasu w tabeli.