En SQL , les dates són complicades per als novells, ja que mentre es treballa amb una base de dades, el format de les dades de la taula ha de coincidir amb les dades d'entrada a inserir. En diversos escenaris, en comptes de la data, s'utilitza la data i l'hora (l'hora també està relacionada amb la data).
Per emmagatzemar una data o un valor de data i hora en una base de dades, MySQL ofereix els següents tipus de dades:
| DATA | format AAAA-MM-DD |
| DATA I HORA | format: AAAA-MM-DD HH:MI: SS |
| MARCA DE TEMPS | format: AAAA-MM-DD HH:MI: SS |
| CURS | format YYYY o YY |
Ara, anem a algunes funcions populars de les funcions de data SQL.
sistema operatiu
ARA ()
Retorna la data i l'hora actuals.
Consulta:
SELECT NOW();>
Sortida:

CURDATE()
Retorna la data actual.
Consulta:
SELECT CURDATE();>
Sortida:

CURTIME()
Retorna l'hora actual.
Consulta:
SELECT CURTIME();>
Sortida:

DATA()
Extreu la part de data d'una expressió de data o hora. Exemple: per a la taula següent anomenada 'Prova'
| Id | Nom | Hora de naixement |
|---|---|---|
| 4120 | Pràctica | 1996-09-26 16:44:15.581 |
Consulta:
SELECT Name, DATE(BirthTime) AS BirthDate FROM Test;>
Sortida:
transició d'opacitat css
| Nom | Data de naixement |
|---|---|
| Pràctica | 1996-09-26 |
EXTRAIG ()
Retorna una sola part d'una data/hora.
Sintaxi
EXTRACT (unitat FROM data);
Es poden considerar diverses unitats però només s'utilitzen algunes com ara MICROSEGON, SEGON, MINUT, HORA, DIA, SETMANA, MES, TRIMESTRE, ANY, etc. I 'data' és una expressió de data vàlida. Exemple: per a la taula següent anomenada 'Prova'
| Id | Nom | Hora de naixement |
|---|---|---|
| 4120 | Pràctica | 1996-09-26 16:44:15.581 |
Consulta:
SELECT Name, Extract(DAY FROM BirthTime) AS BirthDay FROM Test;>
Sortida:
| Nom | Aniversari |
|---|---|
| Pràctica | 26 |
Consulta:
SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>
Sortida:
| Nom | Any de naixement |
|---|---|
| Pràctica | 1996 |
Consulta:
SELECT Name, Extract(SECOND FROM BirthTime) AS BirthSecond FROM Test;>
Sortida:
| Nom | NaixementSegon |
|---|---|
| Pràctica | 581 |
DATE_ADD()
Afegeix un interval de temps especificat a una data.
Sintaxi:
DATE_ADD(data, tipus d'expr INTERVAL);
On, data: expressió de data vàlida i expr és el nombre d'intervals que volem afegir. i el tipus pot ser un dels següents: MICROSCON, SEGON, MINUT, HORA, DIA, SETMANA, MES, TRIMESTRE, ANY, etc. Exemple: per a la taula següent anomenada 'Prova'
| Id | Nom | Hora de naixement |
|---|---|---|
| 4120 | Pràctica | 1996-09-26 16:44:15.581 |
Consulta:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 1 YEAR) AS BirthTimeModified FROM Test;>
Sortida:
| Nom | Hora de naixement modificada |
|---|---|
| Pràctica | 1997-09-26 16:44:15.581 |
Consulta:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 30 DAY) AS BirthDayModified FROM Test;>
Sortida:
| Nom | Naixement modificat |
|---|---|
| Pràctica | 1996-10-26 16:44:15.581 |
Consulta:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 4 HOUR) AS BirthHourModified FROM Test;>
Sortida:
| Nom | NaixementSegon |
|---|---|
| Pràctica | 1996-10-26 20:44:15.581 |
DATE_SUB()
Resta un interval de temps especificat d'una data. La sintaxi de DATE_SUB és la mateixa que DATE_ADD només la diferència és que DATE_SUB s'utilitza per restar un interval de data determinat.
DATEDIFF()
Retorna el nombre de dies entre dues dates.
Sintaxi:
DATEDIFF(data1, data2);
característiques d'una sèrie de pandadata1 i data2- expressió de data/hora
Consulta:
SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;> Sortida:
| DataDiff |
|---|
| 10 |
FORMAT DE DATA()
Mostra les dades de data/hora en diferents formats.
Sintaxi:
DATE_FORMAT(data,format);
la data és una data vàlida i el format especifica el format de sortida de la data/hora. Els formats que es poden utilitzar són:
- %a-Nom abreujat del dia feiner (Dg-Ds)
- %b-Nom del mes abreujat (gen-desembre)
- %c-mes, numèric (0-12)
- %D-dia del mes amb sufix anglès (0, 1, 2, 3)
- %d-dia del mes, numèric (00-31)
- %e-Dia del mes, numèric (0-31)
- %f-Microsegons (000000-999999)
- % h-hora (00-23)
- %h-hora (01-12)
- % I-Hour (01-12)
- %i-minuts, numèrics (00-59)
- %j-dia de l'any (001-366)
- %k hores (0-23)
- %l-hora (1-12)
- Nom %M-mes (gener-desembre)
- %m-mes, numèric (00-12)
- %p-AM o PM
- %r-Time, 12 hores (hh:mm: ss seguit de AM o PM)
- %S-segons (00-59)
- %s-segons (00-59)
- %T-Time, 24 hores (hh:mm: ss)
- %U-Week (00-53) on diumenge és el primer dia de la setmana
- %u-Week (00-53) on dilluns és el primer dia de la setmana
- %V-Week (01-53) on diumenge és el primer dia de la setmana, utilitzat amb %X
- %v-Week (01-53) on dilluns és el primer dia de la setmana, utilitzat amb %x
- %W-Nom del dia feiner (diumenge-dissabte)
- %w-dia de la setmana (0=diumenge, 6=dissabte)
- %X-Year per a la setmana on diumenge és el primer dia de la setmana, quatre dígits, utilitzat amb %V
- %x-Year per a la setmana on dilluns és el primer dia de la setmana, quatre dígits, utilitzat amb %v
- %Y-Year, numèric, quatre dígits
- %y-any, numèric, dos dígits