2010-11-16 2 views
2

Не могу поверить, что я должен спросить об этом здесь. Даже гуглинг не помог.Как форматировать даты и время для SQLite?

Я хочу, чтобы это сделать:

insert into atable (adatefield,atimefield,adatetimefield) values (A,B,C); 
  • adatefield определяется как DATE
  • atimefield определяется как TIME
  • adatetimefield определяется как DATETIME

Что я ставлю для A, B и C?

Приятно, что это бесплатно, но документация для SQLite ужасна.

ответ

3

Поле даты, времени и времени datetime фактически будет хранить datetime, это зависит только от того, что вы вставляете в него, и все они будут работать с строками даты.

Вы можете

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 делает некоторые вещи очень легкими, но может запутать или усложнить некоторые другие вещи.

+0

спасибо. – cja

Смежные вопросы