SQL Datetime: viskas, ką reikia žinoti

Šis straipsnis apie SQL datos laiką padės suprasti, kaip įvesti datos laiką ir kaip konvertuoti iš kitų datos ir laiko tipų į datos laiką

Kartais kalbama apie datą ir laiką SQL gali būti gana keblu. Nors data ir laikas iš tikrųjų yra visiškai skirtingi duomenų tipai, jie dažnai sujungiami į datos ir laiko datos duomenų tipą. SQL datos ir laikai vien yra gana paprasti, tačiau šių dviejų sujungimas gali būti viena iš skaudžiausių užduočių. Šiame straipsnyje išsamiai sužinosite apie SQL datos laiko tipą.

Koks yra duomenų laiko tipas?

SQL, datos laikas datos duomenų tipas naudojamas vertėms, kuriose yra ir data, ir laikas. „Microsoft“ apibrėžia kaip a data kartu su dienos laiku su trupmeninėmis sekundėmis, paremta 24 valandų laikrodžiu .





Konkrečiai SQL turi daug duomenų tipų, kurie sujungia datos ir laiko atvaizdavimą, todėl viskas yra sudėtingesnė. Plačiausiai naudojamas DATETIME, nes jis buvo nuo ankstesnių SQL versijų. SQL nuskaito ir rodo DATETIME reikšmes „MMMM-MM-DD hh: mm: ss“ formatu. Palaikomas diapazonas yra nuo „1753-01-01 00:00:00“ iki „9999-12-31 23: 59: 59.997“. Panagrinėkime laiko ir laiko tipą išsamiau.

datos laikas Aprašymas

Norėdami sužinoti daugiau apie SQL datos laiką, patikrinkite šią lentelę.



Nuosavybė Vertė

Sintaksė

datos laikas

Naudojimas



PAREIŠKKITE @MyDatetimedatos laikas

Sukurti lentelę1 lentelė (1 stulpelisdatos laikas)

Formatas

‘YYYY-MM-DD hh: mm: ss.nnn

Laiko diapazonas

00:00:00 iki 23:59: 59,997

Elementų diapazonai

  • YYYY yra keturi skaitmenys nuo 1753 iki 9999, kurie rodo metus.
  • MM yra du skaitmenys, svyruojantys nuo 01 iki 12, o tai reiškia mėnesį nurodytais metais.
  • DD yra du skaitmenys, nuo 01 iki 31, priklausomai nuo mėnesio, kuris reiškia nurodyto mėnesio dieną.
  • hh yra du skaitmenys nuo 00 iki 23, kurie žymi valandą.
  • mm yra du skaitmenys, svyruojantys nuo 00 iki 59, o tai reiškia minutę.
  • ss yra du skaitmenys, svyruojantys nuo 00 iki 59, o tai reiškia antrąjį.
  • n * yra nuo nulio iki trijų skaitmenų, svyruojančių nuo 0 iki 999, nurodančių trupmenines sekundes.

Saugyklos dydis

kaip deklaruoti dinaminį masyvą Java

8 baitai

Numatytoji reikšmė

1900-01-01 00:00:00

Kalendorius

Grigaliaus (apima visą metų diapazoną.)

Pastaba: Aukščiau pateikta informacija taikoma datos laiko tipui „Transact-SQL“ irSQL serveris.

Taigi, štai datos laikas SQL. Bet ką darytumėte, jei turite kitą datą irlaiko tipus ir turite juos konvertuoti į datos laikas tipo?

Kitų datos ir laiko tipų konvertavimas į duomenų laiko duomenų tipą

The datos laikas duomenų tipas SQL įtraukiama data ir laikas su 3 skaitmenų trupmeninių sekundžių dalimi. Jo tikslumas suapvalinamas iki .000, .003 arba .007 sekundžių. Taigi, kai konvertuosite a data arba laikas vertės į datos laikas , prie vertės pridedama papildoma informacija. Taip yra todėl, kad datos laikas duomenų tipe yra data ir laikas. Šioje straipsnio dalyje paaiškinta, kas vyksta, kai kita data ir laikas duomenų tipai konvertuojami į datos laikas duomenų tipas.

1 pavyzdys: numanoma konversija tarp datos ir datos laiko

DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date

Rezultatas

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

2 pavyzdys: numanomas datos ir datos laiko konvertavimas naudojant CAST ()

DECLARE @thedate date = '2020-12-01' SELECT @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'

Rezultatas

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

3 pavyzdys: numanomas konversija iš smalldatetime į datetime

Kai konversija yra iš s Malldatetime tipas, valandos ir minutės nukopijuojamos. Sekundės ir trupmeninės sekundės nustatomos į reikšmę 0. Šis kodas rodo a konvertavimo rezultatus smalldatetime vertė a datos laikas vertė.

DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELECT @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'

Rezultatas

@datetime @smalldatetime ------------------------- --------------------- - 2016-12-01 12: 32: 00.000 2016-12-01 12:32:00

Panašiai galite konvertuoti kitus data ir laikas tipai į duomenų laikas įveskite netiesiogiai arba naudodami vaidinti () ir Paversti() metodai. Norėdami sužinoti, peržiūrėkite toliau pateiktą lentelę, kad susipažintumėte su visų datų ir laiko tipų formatais.

Duomenų tipas Pavyzdys

laikas

12:35:29. 1234567

data

2007-05-08

smalldatetime

2007-05-08 12:35:00

datos laikas

2007-05-08 12: 35: 29.123

datos laikas2

2007-05-08 12:35:29. 1234567

datetimeoffset

2007-05-08 12: 35: 29.1234567 +12: 15

Tuo mes priėjome šio straipsnio pabaigą. Tikiuosi, kad jums aiškus čia aptartas turinys. Įsitikinkite, kad praktikuojate kuo daugiau ir grąžinkite savo patirtį.

Jei norite sužinoti daugiau apie „MySQL“ ir susipažinkite su šia atviro kodo reliacine duomenų baze, tada patikrinkite mūsų kuris ateina su instruktorių vedamomis tiesioginėmis treniruotėmis ir realių projektų patirtimi. Šie mokymai padės jums išsamiau suprasti „MySQL“ ir padės jums įsisavinti šį dalyką.

Turite mums klausimą? Prašome tai paminėti šio straipsnio „Procedūros SQL straipsnyje“ skiltyje ir mes su jumis susisieksime.