Estoy tratando de insertar un valor de fecha y hora en una base de datos SQLite . Parece tener éxito, pero cuando intento recuperar el valor, aparece un error:
<No se pueden leer los datos>
Las declaraciones SQL son:
create table myTable (name varchar(25), myDate DATETIME)
insert into myTable (name,mydate) Values ('fred','jan 1 2009 13:22:15')
La forma de almacenar fechas en SQLite es:
SQLite también tiene algunas funciones de fecha y hora que puede utilizar. Consulte SQL entendido por SQLite, funciones de fecha y hora .
fuente
.xxxxxx
aquí en la sintaxis de @ TorValamo =.SSS
=% f en la documentación de SQLite, es decir, fracciones de segundo.Tiene que cambiar el formato de la cadena de fecha que está proporcionando para poder insertarla usando la función STRFTIME. La razón es que no hay opción para una abreviatura de mes:
La alternativa es formatear la fecha / hora en un formato ya aceptado:
Referencia: funciones de fecha y hora de SQLite
fuente
Úselo
CURRENT_TIMESTAMP
cuando lo necesite, en lugar de OFNOW()
(que es MySQL)fuente
Lea esto : 1.2
Date
y Time Datatype mejor tipo de datos para almacenar la fecha y la hora es:TEXT
el mejor formato es:yyyy-MM-dd HH:mm:ss
Entonces lea esta página; es mejor explicar la fecha y la hora en
SQLite
. Espero que esto te ayudefuente
Puede que este no sea el método más popular o eficiente, pero tiendo a renunciar a los tipos de datos fuertes en SQLite, ya que, de todos modos, todos se descargan esencialmente como cadenas.
He escrito una envoltura delgada de C # alrededor de la biblioteca SQLite antes (cuando uso SQLite con C #, por supuesto) para manejar inserciones y extracciones hacia y desde SQLite como si estuviera tratando con objetos DateTime.
fuente