2014-12-18 11 views
8

The documentation for SQLite3 datatypes diceCome posso convertire una stringa datetime in un timestamp UNIX in SQLite3?

data e ora Le funzioni incorporate di SQLite sono in grado di memorizzare date e orari come TEXT, REAL, o valori interi

voglio usare queste funzioni per memorizzare INTEGER valori. Come faccio a farlo? The documentation for SQLite3 datetime functions descrive i tipi di argomenti per tali funzioni, ma non dice nulla del tipo restituito. Sembra che il tipo di ritorno è text:

sqlite> select typeOf(datetime('2014-12-12 12:12:12.000')); 
text 

Questo non quello che voglio è - voglio un valore intero che rappresenta quel tempo come un timestamp di UNIX. Anche quando creo una colonna di tipo integer e tento di memorizzare un valore datetime(...), SQLite lo memorizza come un valore text nella colonna integer.

Come si forza la funzione datetime e gli amici a restituire un timestamp UNIX anziché un valore text?

risposta

13

Tutte le funzioni di data/ora predefinite restituiscono stringhe.

per convertire una stringa in un numero, utilizzare CAST:

SELECT CAST(strftime('%s', 'now') AS INT); 
Problemi correlati