Estou tentando inserir um valor de data e hora em um banco de dados SQLite . Parece ser bem sucedido, mas quando tento recuperar o valor, ocorre um erro:
<Incapaz de ler os dados>
As instruções SQL são:
create table myTable (name varchar(25), myDate DATETIME)
insert into myTable (name,mydate) Values ('fred','jan 1 2009 13:22:15')
A maneira de armazenar datas no SQLite é:
O SQLite também possui algumas funções de data e hora que você pode usar. Consulte SQL como compreendido por SQLite, funções de data e hora .
fonte
.xxxxxx
aqui na sintaxe de @TorValamo =.SSS
=% f na documentação do SQLite, isto é, segundos fracionários.Você deve alterar o formato da string de data que está fornecendo para poder inseri-la usando a função STRFTIME. O motivo é que não há opção para a abreviatura de um mês:
A alternativa é formatar a data / hora em um formato já aceito:
Referência: funções SQLite Data e Hora
fonte
Use
CURRENT_TIMESTAMP
quando precisar, em vez de OFNOW()
(que é MySQL)fonte
Leia isto : 1.2
Date
e Time Datatype O melhor tipo de dados para armazenar data e hora é:TEXT
o melhor formato é:yyyy-MM-dd HH:mm:ss
Então leia esta página; esta é a melhor explicação sobre data e hora em
SQLite
. Espero que isso lhe ajudefonte
Este pode não ser o método mais popular ou eficiente, mas eu tendo a renunciar a tipos de dados fortes no SQLite já que todos eles são essencialmente despejados como strings de qualquer maneira.
Eu escrevi um wrapper fino C # em torno da biblioteca SQLite antes (ao usar SQLite com C #, é claro) para lidar com inserções e extrações de e para SQLite como se estivesse lidando com objetos DateTime.
fonte