Problema originale: Qual è il formato di colonna corretto per un timestamp unix?SQlite: formato della colonna per timestamp unix; Tipi interi
La rete è piena di confusione: alcuni messaggi rivendicazione SQLite ha alcun tipo senza segno - o qualunque, o con eccezione del tipo int 64bit (ma ci sono (contromisure) esempi che richiamano INTEGER). La pagina dei tipi di dati lo menziona solo in un grande esempio. Suppone anche che ci sia un intero di 6 byte, ma non ne fornisce un nome. Sembra che i miei tentativi con INTEGER siano i timestamp firmati di unix firmati a 4 byte come numeri negativi. Ho sentito che alcuni sistemi restituiscono anche timestamp a 64 bit. OTOH Non mi piace troppo sprecare 4 byte per archiviare 1 bit in più (il bit più in alto del timestamp), e anche se dovessi scegliere un formato di dati più grande, preferirei quello da 6 byte. Ho persino visto un post che afferma che SQLite unix timestamp è di tipo REAL ...
Problema completo: Qualcuno potrebbe chiarire questo pasticcio?
Grazie. In realtà non aiuta che la distinzione tra i quattro nomi int "zucchero sintattico", i numeri interi C (più la rappresentazione interna) e la memorizzazione su disco dei numeri non siano chiaramente enfatizzati in vari documenti, e vari valori e nomi sono dati senza molto contesto. La tua risposta spiega la differenza e le specificità di ciascuno e mi ha permesso di capire veramente la struttura del sistema. –