Todas las bases de datos relacionales y compatibles al ANSI SQL poseen los siguientes tipos de datos (Esto es general en todas):
CHAR - 1 byte en memoria
VARCHAR - 2 byte + 1 en memoria
FLOAT - 4 bytes en memoria
INTEGER - 4 bytes en memoria
DOUBLE/REAL - 8 bytes en memoria
DATE - 3 bytes en memoria
TIME - 3 bytes en memoria
YEAR - 1 byte en memoria
DATETIME - 8 bytes en memoria
TIMESTAMP - 4 bytes en memoria
BOOLEAN - 1 byte en memoria
Al fin y al cabo, no se ha respondido la pregunta numero 1..
Cuales son lso tipos de datos que se guardan en SQLite
Ya te respondi, y vuelvo y te lo pego en esta respuesta mas arriba. Inclusive te hice una explicacion ligera sobre cuanto bytes en memoria ram ocupan cada tipo de datos. Y te hice una clarificacion de cual te convenia, pero aparentase que no comprendes del todo lo que intento exponerte.
Nada de VARCHAR, ni nada de eso.. TEXT, REAL, BLOB, e INTEGER.. y nada mas.. Será realmente así?
SQLite posee CHAR, VARCHAR esos dos tipos de datos son primitivos, todas las bases de datos relacionales y compatibles al ANSI SQL lo poseen.
he estado viendo algo de SQLlite y vi que no se puede hacer algo como dijo ^TiFa^
..... de hacer nombre char(20) en la misma pagina oficial lo dice, que por mas que pongas nombre char(20) podes escribir lo que quieras...es eso verdad? o estoy equivocado? pero si la pagina lo dice.
Porsupuesto que se puede. Si yo hago:
CREATE TABLE TABLA(
nombre char(20));
Y en mi programa o script puedo insertar 50 caracteres y alegrarme y decir yupi
engane a la base de datos, le puse de almacenamiento a dicho campo nombre solo 20 y inserte 50 soy un genio !!!
Y cuando ingreses a la base de datos y hagas un SELECT nombre from TABLA veras algo muy curioso.... y diras pero que paso??? yo inserte 50 caracteres y esta cosa me lo corto a 20 caracteres
Sinceramente.... no voy a opinar en un tema tan simple como son los tipos de datos y como el motor maneja la cantidad de almacenamiento.
guardala en cualquiera de las 2, yo te diria en un string por ejemplo, total despues si necesitas hacer operaciones de fecha, la convertis con CDate() y listo, pero para cuando quieras guardar en la base la fecha, guardarla desde en una string...formateada al formato correspondiente...
Eso es irrelevante, porque tiene que convertir tipos de datos cuando YA EXISTE un tipo de dato fecha en las base de datos relacionales??? como le dije anteriormente y vuelvo y le repito amigo para el campo fecha utilize el tipo de datos DATE si solamente desea insertar el anio utilize YEAR y si solo quiere la hora utilize TIME... es tan complicado entender esto???