sql >> Database teknologi >  >> RDS >> SQLite

Gyldige modifikatorer for SQLite dato/tidsfunktioner

Nedenfor er en liste over gyldige modifikatorer for dato- og tidsfunktioner i SQLite.

Modifier Eksempel
NNN dage dato('nu', '+3 dage')
NNN timer datetime('nu', '-3 timer')
NNN minutter datetime('nu', '+3 minutter')
NNN.NNNN sekunder datetime('nu', '-30 sekunder')
NNN måneder dato('nu', '+3 måneder')
NNN år dato('nu', '-3 år')
begyndelsen af ​​måneden dato('nu', 'start på måned')
start på året dato('nu', 'start på året')
start på dagen datetime('nu', 'start på dagen')
ugedag N dato('nu', 'ugedag 6')
unixepoch datetime('1588965525', 'unixepoch')
lokal tid datetime('nu', 'lokaltid')
utc datetime('nu', 'utc')

Hvordan fungerer disse modifikatorer?

Når du bruger en af ​​dato/klokkeslæt-funktionerne i SQLite, har du mulighed for at bruge modifikatorer til at transformere den dato, der er angivet til funktionen.

For eksempel kan du bruge en modifikator til at tilføje et antal dage, timer eller endda minutter til en given dato. Eller du kan bruge en modifikator til at angive UTC eller lokal tid osv.

Eksempel

Her er et hurtigt eksempel til at vise output fra brugen af ​​ovenstående modifikatorer.

.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');

Resultat:

                    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. Sådan multipliceres to kolonner i SQL

  2. Hvorfor går SQL-id-sekvenser ud af synkronisering (specifikt ved at bruge Postgres)?

  3. Hvordan erstatter man et regulært udtryk i MySQL?

  4. Fortsætter en transaktion efter fejl ved primærnøgleovertrædelse