SQLite数据库的日期型字段,直接查询出来可能是一个浮点数数值,比如:43535.647531019,而不是期待的yyyy-MM-dd这样格式的日期。
原因是,SQLite表中的日期型字段实际是以浮点数保存的,含义是自1899-12-30开始的天数,小数部分就是时分秒折算出的天数。
要以yyyy-MM-dd这样的格式显示SQLite日期,必须用下面这样的SQL语句:
select strftime('%Y-%m-%d %H:%M:%S','1899-12-30','+' || 字段名 || ' day') from 表名
例如:
select ID, 表单名称, FGC_CreateDate,
strftime('%Y-%m-%d %H:%M:%S','1899-12-30','+' || FGC_CreateDate || ' day') 创建日期
from 表单表
核心语句 strftime('%Y-%m-%d %H:%M:%S','1899-12-30','+' || FGC_CreateDate || ' day') 的含义是:以1899-12-30为起点,加上字段值那么多天数,返回结果日期。
结果如下图: