/ / Como insiro o valor datetime em um banco de dados SQLite? - sql, datetime, sqlite

Como insiro o valor datetime em um banco de dados SQLite? - sql, datetime, sqlite

Estou tentando inserir um valor datetime em um SQLite base de dados. Parece ser bem sucedido, mas quando tento recuperar o valor, ocorre um erro:

<Não foi possível 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")

Respostas:

125 para resposta № 1

O formato que você precisa é:

"2007-01-01 10:00:00"

ou seja, aaaa-MM-dd HH: mm: ss

Se possível, no entanto, use uma consulta parametrizada, pois isso evita que você se preocupe com os detalhes da formatação.


41 para resposta № 2

A maneira de armazenar datas no SQLite é:

 yyyy-mm-dd hh:mm:ss.xxxxxx

O SQLite também possui algumas funções de data e hora que você pode usar. Vejo SQL como compreendido pelas funções SQLite, data e hora.


16 for answer № 3

Você precisa alterar o formato da string de data que está fornecendo para poder inseri-la usando a função STRFTIME. Por isso, não há opção para abreviação de um mês:

%d  day of month: 00
%f  fractional seconds: SS.SSS
%H  hour: 00-24
%j  day of year: 001-366
%J  Julian day number
%m  month: 01-12
%M  minute: 00-59
%s  seconds since 1970-01-01
%S  seconds: 00-59
%w  day of week 0-6 with sunday==0
%W  week of year: 00-53
%Y  year: 0000-9999
%%  %

A alternativa é formatar a data / hora em um formato já aceito:

  1. AAAA-MM-DD
  2. AAAA-MM-DD HH: MM
  3. AAAA-MM-DD HH: MM: SS
  4. AAAA-MM-DD HH: MM: SS.SSS
  5. AAAA-MM-DDTHH: MM
  6. AAAA-MM-DDTHH: MM: SS
  7. AAAA-MM-DDTHH: MM: SS.SSS
  8. HH: MM
  9. HH: MM: SS
  10. HH: MM: SS.SSS
  11. agora

Referência: Funções de data e hora do SQLite


5 para resposta № 4

Ler este: 1.2 Date e tipo de dados Time 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; é melhor explicar sobre data e hora no SQLite. Espero que isso lhe ajude


5 para a resposta № 5

Usar CURRENT_TIMESTAMP quando você precisar, em vez de NOW() (que é MySQL)


0 para a resposta № 6

Esse pode não ser o método mais popular ou eficiente, mas eu costumo renunciar a tipos de dados fortes em SQLite já que todos eles são essencialmente jogados como cordas de qualquer maneira.

Eu escrevi um invólucro C # fino em torno do SQLitebiblioteca anterior (ao usar SQLite com C #, é claro) para manipular inserções e extrações de e para SQLite como se eu estivesse lidando com objetos DateTime.