datetime('2015-08-10T17:19:37.670') is '2015-08-10 17:19:37' datetime('2015-08-10 17:19:37.670') is '2015-08-10 17:19:37'
as you see, the output is not equal to the input. Therefore the check constraint fails. However, datetime(timestring) where timestring is an invalid ISO timestring returns NULL, so yout check constraint might likely be: CHECK (datetime(col) is not null) mutatis mutandis date() > -----Original Message----- > From: sqlite-users-bounces at mailinglists.sqlite.org [mailto:sqlite-users- > bounces at mailinglists.sqlite.org] On Behalf Of Roman Fleysher > Sent: Wednesday, 4 May, 2016 14:44 > To: General Discussion of SQLite Database > Subject: [sqlite] datetime in CHECK > > Dear SQLiters, > > I am trying to use CHECK constraint is column of a table to enforce > datetime format and this works: > > AcquisitionDate TEXT CHECK (AcquisitionDate IS > date(AcquisitionDate)) > > when I insert '2015-08-10'. But this > > AcquisitionDateTime TEXT CHECK (AcquisitionDateTime IS > datetime(AcquisitionDateTime)) > > when I insert '2015-08-10T17:19:37.670' or '2015-08-10 17:19:37.670' > fails. Why? How to do it properly? > > Thank you, > > Roman > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users