logo

Funcions de data i hora SQL

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:

ara la imatge de sortida del mètode

CURDATE()

Retorna la data actual.

Consulta:

SELECT CURDATE();>

Sortida:

SORTIDA 2

CURTIME()

Retorna l'hora actual.

Consulta:

SELECT CURTIME();>

Sortida:

SORTIDA 3

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 panda

data1 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