今天在处理sqllite中datetime类型的字段的时候,发现查询,会报错: 该字符串未被识别为有效的 DateTime。
但是插入、更新的时候不会,就只有查询的时候会报错,后来经过尝试,发现只有 'yyyy/MM/dd HH:mm:ss'种类型或者空字符串的时候,查询会报错。所以在插入的时候,我就将时间的类型转换成了 "yyyy-MM-dd HH:mm:ss",这样就不会报错了,还需要注意的是,当这个字段是新增的字段的时候需要给他一个默认值。
update Channels set timestamp=datetime('now', 'localtime') where timestamp is '' 这个是将为空的时间列更新为当前时间。这样在以后查询的时候就不会报错了