I SQL , datum är komplicerade för nybörjare, eftersom när du arbetar med en databas måste formatet på data i tabellen matchas med indata som ska infogas. I olika scenarier istället för datum används datetime (tid är också inblandat med datum).
För att lagra ett datum eller ett datum- och tidsvärde i en databas, MySQL erbjuder följande datatyper:
| DATUM | format ÅÅÅÅ-MM-DD |
| DATUM TID | format: ÅÅÅÅ-MM-DD TT:MI: SS |
| TIDSSTÄMPEL | format: ÅÅÅÅ-MM-DD TT:MI: SS |
| ÅR | format YYYY eller YY |
Kom nu till några populära funktioner i SQL-datumfunktioner.
NU()
Returnerar aktuellt datum och tid.
Fråga:
SELECT NOW();>
Produktion:

CURDATE()
Returnerar det aktuella datumet.
java-strängen innehåller
Fråga:
SELECT CURDATE();>
Produktion:

CURTIME()
Returnerar aktuell tid.
Fråga:
SELECT CURTIME();>
Produktion:

DATUM()
Extraherar datumdelen av ett datum- eller datum/tid-uttryck. Exempel: För tabellen nedan med namnet 'Test'
| Id | namn | Födelsetid |
|---|---|---|
| 4120 | Öva | 1996-09-26 16:44:15,581 |
Fråga:
SELECT Name, DATE(BirthTime) AS BirthDate FROM Test;>
Produktion:
| namn | Födelsedatum |
|---|---|
| Öva | 1996-09-26 |
EXTRAHERA()
Returnerar en enskild del av ett datum/tid.
Syntax
EXTRACT(enhet FRÅN datum);
Flera enheter kan komma i fråga men endast några används som t.ex MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, etc. Och 'datum' är ett giltigt datumuttryck. Exempel: För tabellen nedan med namnet 'Test'
| Id | namn | Födelsetid |
|---|---|---|
| 4120 | Öva | 1996-09-26 16:44:15,581 |
Fråga:
SELECT Name, Extract(DAY FROM BirthTime) AS BirthDay FROM Test;>
Produktion:
| namn | Födelsedag |
|---|---|
| Öva | 26 |
Fråga:
SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>
Produktion:
| namn | Födelseår |
|---|---|
| Öva | nitton nittiosex |
Fråga:
SELECT Name, Extract(SECOND FROM BirthTime) AS BirthSecond FROM Test;>
Produktion:
| namn | BirthSecond |
|---|---|
| Öva | 581 |
DATE_ADD()
Lägger till ett angivet tidsintervall till ett datum.
Syntax:
DATE_ADD(datum, INTERVAL expr-typ);
Där, datum – giltigt datumuttryck och expr är antalet intervall vi vill lägga till. och typ kan vara något av följande: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, etc. Exempel: För tabellen nedan med namnet 'Test'
| Id | namn | Födelsetid |
|---|---|---|
| 4120 | Öva | 1996-09-26 16:44:15,581 |
Fråga:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 1 YEAR) AS BirthTimeModified FROM Test;>
Produktion:
| namn | Födelsetid Modifierad |
|---|---|
| Öva | 1997-09-26 16:44:15,581 |
Fråga:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 30 DAY) AS BirthDayModified FROM Test;>
Produktion:
| namn | Födelsedag Modifierad |
|---|---|
| Öva | 1996-10-26 16:44:15,581 |
Fråga:
SELECT Name, DATE_ADD(BirthTime, INTERVAL 4 HOUR) AS BirthHourModified FROM Test;>
Produktion:
| namn | BirthSecond |
|---|---|
| Öva | 1996-10-26 20:44:15,581 |
DATE_SUB()
Subtraherar ett angivet tidsintervall från ett datum. Syntaxen för DATE_SUB är densamma som DATE_ADD, bara skillnaden är att DATE_SUB används för att subtrahera ett givet datumintervall.
DATEDIFF()
Returnerar antalet dagar mellan två datum.
Syntax:
DATUMDIFF(datum1, datum2);
datum1 & datum2- datum/tid uttryck
Fråga:
SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;> Produktion:
för varje java
| DateDiff |
|---|
| 10 |
DATUMFORMAT()
Visar datum/tid i olika format.
Syntax:
DATUM_FORMAT(datum,format);
datumet är ett giltigt datum och formatet anger utdataformatet för datumet/tiden. De format som kan användas är:
- %a-förkortat veckodagsnamn (sön-lör)
- %b-Förkortat månadsnamn (jan-dec)
- %c-månad, numerisk (0-12)
- %D-dag i månaden med engelska suffix (0:a, 1:a, 2:a, 3:a)
- %d-dag i månaden, numerisk (00-31)
- %e-dag i månaden, numerisk (0-31)
- %f-mikrosekunder (000000-999999)
- %H-timme (00-23)
- %h-timme (01-12)
- %I-Hour (01-12)
- %i-minuter, numerisk (00-59)
- %j-dag på året (001-366)
- %k-timmar (0-23)
- %l-timme (1-12)
- %M-månadsnamn (januari-december)
- %m-månad, numerisk (00-12)
- %p-AM eller PM
- %r-Tid, 12 timmar (tt:mm: ss följt av AM eller PM)
- %S-sekunder (00-59)
- %s-sekunder (00-59)
- %T-tid, 24 timmar (tt:mm: ss)
- %U-vecka (00-53) där söndag är den första dagen i veckan
- %u-vecka (00-53) där måndag är den första dagen i veckan
- %V-vecka (01-53) där söndag är den första dagen i veckan, används med %X
- %v-vecka (01-53) där måndag är den första dagen i veckan, används med %x
- %W-veckans namn (söndag-lördag)
- %w-veckodag (0=söndag, 6=lördag)
- %X-år för veckan där söndag är den första dagen i veckan, fyra siffror, används med %V
- %x-år för veckan där måndag är den första dagen i veckan, fyra siffror, används med %v
- %Y-Year, numeriskt, fyra siffror
- %y-Year, numerisk, två siffror