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

Modificatori validi per le funzioni di data/ora di SQLite

Di seguito è riportato un elenco di modificatori validi per le funzioni di data e ora in SQLite.

Modificatore Esempio
NNN giorni data('ora', '+3 giorni')
NNN ore datetime('now', '-3 ore')
NNN minuti datetime('now', '+3 minuti')
NNN.NNNN secondi datetime('now', '-30 secondi')
NNN mesi data('ora', '+3 mesi')
NNN anni data('ora', '-3 anni')
inizio mese data('ora', 'inizio mese')
inizio anno data('ora', 'inizio anno')
inizio giornata datetime('now', 'start of day')
giorno della settimana N data('ora', 'giorno feriale 6')
unixepoch datetime('1588965525', 'unixepoch')
ora locale datetime('now', 'localtime')
utc datetime('now', 'utc')

Come funzionano questi modificatori?

Quando si utilizza una delle funzioni data/ora in SQLite, è possibile utilizzare i modificatori per trasformare la data fornita alla funzione.

Ad esempio, puoi utilizzare un modificatore per aggiungere un numero di giorni, ore o anche minuti a una determinata data. Oppure potresti usare un modificatore per specificare UTC, o l'ora locale, ecc.

Esempio

Ecco un rapido esempio per mostrare l'output dell'utilizzo dei modificatori precedenti.

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

Risultato:

                    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