De vegades es tracta de data i hora a SQL pot ser bastant complicat. Tot i que la data i l’hora són tipus de dades completament diferents, sovint es combinen en un tipus de dades de data i hora. Dates i hores SQL sols són bastant senzills, però fusionar els dos pot ser una de les tasques més doloroses. En aquest article, es descriurà detalladament el tipus de data i hora de SQL.
- Quin és el tipus de dades DateTime?
- datetime Descripció
- Conversió d'altres tipus de data i hora al tipus de dades datetime
Quin és el tipus de dades datetime?
A SQL, datetime El tipus de dades de data s'utilitza per a valors que contenen data i hora. Microsoft el defineix com a data combinada amb una hora del dia amb segons fraccionats que es basa en un rellotge de 24 hores .
SQL, específicament, té molts tipus de dades que combinen les representacions de data i hora, cosa que fa les coses més complexes. El més utilitzat és el DATETIME, ja que ha estat present des de les versions anteriors de SQL. SQL recupera i mostra els valors de DATETIME en format 'AAAA-MM-DD hh: mm: ss'. L'interval admès és de '1753-01-01 00:00:00' a '9999-12-31 23: 59: 59.997'. Explorem amb més detall el tipus de data i hora.
datetime Descripció
Consulteu la taula següent per obtenir més informació sobre el tipus de data i hora SQL.
Propietat | Valor |
Sintaxi | datetime |
Ús | DECLARA @MyDatetimedatetime CREA TAULA Taula1 (columna1datetime) |
Format | 'AAAA-MM-DD hh: mm: ss.nnn |
Interval de temps | De 00:00:00 a 23: 59: 59,997 |
Rangs d'elements |
|
Mida d'emmagatzematge un constructor pot ser privat | 8 bytes |
Valor per defecte | 1900.01.01 00:00:00 |
Calendari | Gregorià (inclou el període complet d'anys). |
Nota: Els detalls anteriors s'apliquen al tipus de data i hora a Transact-SQL iSQL Server.
Per tant, això és així datetime a SQL. Però, què faríeu si teniu una altra data itipus d’hora i els heu de convertir a datetime tipus?
Conversió d'altres tipus de data i hora al tipus de dades datetime
El datetime tipus de dades SQL inclou la data i l'hora, amb una part de 3 dígits fraccionats segons. La seva precisió s'arrodoneix a increments de .000, .003 o .007 segons. Per tant, quan convertiu un fitxer data o bé temps valors a datetime , s’afegeix informació addicional al valor. Això es deu al fet que datetime el tipus de dades conté tant la data com l’hora. En aquesta part de l'article s'explica què passa quan es produeix una altra data i hora els tipus de dades es converteixen a datetime tipus de dades.
Exemple 1: conversió implícita entre data i hora
DECLARA @date date = '01/12/2020' DECLARA @datetime datetime = @date
Resultat
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Exemple 2: conversió implícita entre data i hora i hora mitjançant CAST ()
DECLAREIX @thedate date = '2020-12-01' SELECCIONA @thedate AS 'data', CAST (@thedate AS datetime) AS 'datetime'
Resultat
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Exemple 3: conversió implícita de smalldatetime a datetime
Quan la conversió és del s temps de malldat tipus, es copien les hores i els minuts. Els segons i els segons fraccionats s’estableixen en el valor 0. El següent codi mostra els resultats de convertir a smalldatetime valor a datetime valor.
DECLARA @smalldatetime smalldatetime = '01/12/2020 12:32' DECLARA @datetime datetime = @smalldatetime SELECT @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'
Resultat
@datetime @smalldatetime ------------------------- --------------------- - 01/12/2016 12: 32: 00.000 01-12-2016 12:32:00
De la mateixa manera, podeu convertir-ne d'altres data i hora tipus a hora de dades escriviu implícitament o usant repartiment () i convertir () mètodes. Per obtenir més informació, consulteu la taula següent per familiaritzar-vos amb els formats de tots els tipus de data i hora.
Tipus de dades | Exemple |
temps | 00:35:29. 1234567 |
data | 2007-05-08 |
smalldatetime | 2007-05-08 00:35:00 |
datetime | 2007-05-08 12: 35: 29.123 |
datetime2 | 2007-05-08 00:35:29. 1234567 |
datetimeoffset | 2007-05-08 12: 35: 29.1234567 +12: 15 |
Amb això, hem arribat al final d’aquest article. Espero que tingueu clar el contingut comentat aquí. Assegureu-vos de practicar el màxim possible i de recuperar la vostra experiència.
Si voleu obtenir més informació sobre MySQL i conegueu aquesta base de dades relacional de codi obert i, a continuació, consulteu la nostra que inclou formació en viu dirigida per un instructor i experiència en projectes reals. Aquesta formació us ajudarà a comprendre en profunditat MySQL i us ajudarà a dominar el tema.
Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article sobre “Procediments a SQL” i us respondrem.