关于sqllite时间类型的坑

今天在处理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 ''   这个是将为空的时间列更新为当前时间。这样在以后查询的时候就不会报错了

posted @   游园惊梦、  阅读(483)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示