sql >> Database >  >> RDS >> SQLite

Geldige modificaties voor SQLite-datum/tijd-functies

Hieronder vindt u een lijst met geldige modificaties voor datum- en tijdfuncties in SQLite.

Modificatie Voorbeeld
NN dagen date(‘nu’, ‘+3 dagen’)
NNN-uren datetime(‘nu’, ‘-3 uur’)
NNN minuten datetime(‘nu’, ‘+3 minuten’)
NNN.NNNN seconden datetime(‘nu’, ‘-30 seconden’)
NN maanden date(‘nu’, ‘+3 maanden’)
NNN jaar date(‘nu’, ‘-3 jaar’)
begin van de maand date(‘nu’, ‘begin van de maand’)
begin van het jaar date(‘nu’, ‘begin van het jaar’)
begin van de dag datetime(‘nu’, ‘begin van de dag’)
weekdag N date(‘nu’, ‘weekdag 6’)
unix tijdperk datetime(‘1588965525’, ‘unixepoch’)
lokale tijd datetime(‘now’, ‘localtime’)
utc datetime(‘now’, ‘utc’)

Hoe werken deze modifiers?

Wanneer u een van de datum/tijd-functies in SQLite gebruikt, heeft u de mogelijkheid om modifiers te gebruiken om de datum die aan de functie is verstrekt, te transformeren.

U kunt bijvoorbeeld een modifier gebruiken om een ​​aantal dagen, uren of zelfs minuten toe te voegen aan een bepaalde datum. Of u kunt een modifier gebruiken om UTC, of ​​lokale tijd, enz. op te geven.

Voorbeeld

Hier is een snel voorbeeld om de uitvoer te laten zien van het gebruik van de bovenstaande modifiers.

.mode line
SELECT 
  datetime('now'),
  date('now', '+3 days'),
  datetime('now', '+3 hours'),
  datetime('now', '+3 minutes'),
  datetime('now', '+30 seconds'),
  date('now', '+3 months'),
  date('now', '-3 years'),
  date('now', 'start of month'),
  date('now', 'start of year'),
  datetime('now', 'start of day'),
  date('now', 'weekday 6'),
  datetime('1588965525', 'unixepoch'),
  datetime('now', 'localtime'),
  datetime('now', 'utc');

Resultaat:

                    datetime('now') = 2020-04-26 00:53:53
             date('now', '+3 days') = 2020-04-29
        datetime('now', '+3 hours') = 2020-04-26 03:53:53
      datetime('now', '+3 minutes') = 2020-04-26 00:56:53
     datetime('now', '+30 seconds') = 2020-04-26 00:54:23
           date('now', '+3 months') = 2020-07-26
            date('now', '-3 years') = 2017-04-26
      date('now', 'start of month') = 2020-04-01
       date('now', 'start of year') = 2020-01-01
    datetime('now', 'start of day') = 2020-04-26 00:00:00
           date('now', 'weekday 6') = 2020-05-02
datetime('1588965525', 'unixepoch') = 2020-05-08 19:18:45
       datetime('now', 'localtime') = 2020-04-26 10:53:53
             datetime('now', 'utc') = 2020-04-25 14:53:53

  1. Waarom kunnen PL/pgSQL-functies een neveneffect hebben, terwijl SQL-functies dat niet kunnen?

  2. Wat is de meest eenvoudige manier om lege datums in sql-resultaten op te vullen (op mysql- of perl-uiteinde)?

  3. Indexen gebruiken om de prestaties van MySQL-query's te verbeteren

  4. Toegang krijgen tot verloren MySQL-wachtwoord voor PHPMyAdmin op WAMP