rezumat: în acest tutorial, veți învăța cum să utilizați SQL Server DATETIME2 pentru a stoca atât data și ora de date într-un tabel.
Introducere în SQL Server DATETIME2
pentru a stoca atât data și ora în baza de date, utilizați SQL Server DATETIME2 tipul de date.
sintaxa DATETIME2 este după cum urmează:
Code language: SQL (Structured Query Language) (sql)
precizia fracționată a secundelor este opțională. Acesta variază de la 0 la 7.
următoarea instrucțiune ilustrează modul de creare a unui tabel care constă dintr-o coloană DATETIME2 :
Code language: SQL (Structured Query Language) (sql)
DATETIME2 are două componente: data și ora.
- data este cuprinsă între 01 ianuarie 01 (0001-01-01) și decembrie 31, 9999 (9999-12-31)
- timpul are un interval de la 00:00:00 la 23: 59: 59.9999999.
dimensiunea de stocare a unei valori DATETIME2 depinde de precizia fracționată a secundelor. Este nevoie de 6 octeți pentru precizia care este mai mică de 3, 7 octeți pentru precizia care este între 3 și 4 și 8 octeți pentru toate celelalte precizii.
formatul literal implicit al șirului DATETIME2 este după cum urmează:
Code language: SQL (Structured Query Language) (sql)
în acest format:
-
YYYYeste un număr din patru cifre care reprezintă un an, de exemplu, 2018. Acesta variază de la 0001 la 9999. -
MMeste un număr din două cifre care reprezintă o lună dintr-un an, de exemplu, 12. Acesta variază de la 01 la 12. -
DDeste un număr din două cifre care reprezintă o zi dintr-o lună specificată, de exemplu, 23. Acesta variază de la 01 la 31. -
hheste un număr din două cifre care reprezintă ora. Acesta variază de la 00 la 23. -
mmeste un număr din două cifre care reprezintă minutul. Acesta variază de la 00 la 59. -
sseste un număr din două cifre care reprezintă al doilea. Acesta variază de la 00 la 59. - secundele fracționare sunt zero la un număr de șapte cifre care variază de la 0 la 9999999.
SQL Server datetime2 exemplu
următoarea instrucțiune creează un tabel nou care are o coloană created_at al cărui tip de date este DATETIME2:
Code language: SQL (Structured Query Language) (sql)
pentru a insera data și ora curente în coloana created_at, utilizați următoarea instrucțiune INSERT cu funcția GETDATE ():
Code language: SQL (Structured Query Language) (sql)
funcția GETDATE() este similară cu funcția NOW() din alte sisteme de baze de date, cum ar fi MySQL
pentru a insera o valoare literală în coloana DATETIME2, utilizați următoarea instrucțiune:
Code language: SQL (Structured Query Language) (sql)
dacă doriți să setați valoarea implicită a coloanei created_at la data și ora curente, utilizați următoarea instrucțiune ALTER TABLE :
Code language: SQL (Structured Query Language) (sql)
în această instrucțiune, folosim CURRENT_TIMESTAMP ca valoare implicită pentru coloana created_at. Rețineți că CURRENT_TIMESTAMP returnează aceeași valoare ca și funcția GETDATE ().
acum, când introduceți un rând nou în tabel fără a specifica valoarea pentru coloana created_at, SQL Server va utiliza valoarea curentă de dată și oră pentru acea coloană:
Code language: SQL (Structured Query Language) (sql)
în acest tutorial, ați învățat cum să utilizați SQL Server DATETIME2 tipul de date pentru a stoca atât data și ora de date într-un tabel.