Поле даты, времени и даты и времени фактически все хранит дату и время, оно зависит только от того, что вы вставляете в него, и все они будут работать со строками даты.
Вы можете
insert into atable values("2010-11-16","14:12:22","2010-11-16 14:12:22");
или вы можете просто вставить "2010-11-16 14:12:22" во все поля и затем выбрать их обратно с помощью:
select date(adatefield), time(atimefield), datetime(adatetimefield) from atable;
Если вы хотите убедиться, что полясодержат только точно дату, время или дату и время, и вы вставляете из переменных, тогда вы можете
insert into atable values(date(thedate),time(thedate),datetime(thedate));
Безлимитность Sqlites делает некоторые вещи действительно легкими, но может запутать или усложнить некоторые другие вещи.