假设表为空,以下两个查询:
SELECT DataTime FROM MYTABLE;// sqlite_step不会返回SQLITE_ROW,直接SQLITE_DONE
SELECT min(DataTime) FROM MYTABLE;// sqlite_step会返回SQLITE_ROW,但是字段值为NULL,也就是说,因为min是聚合函数,即使表为空,它仍需要给出函数的结果,因此在编程时除判断SQLITE_ROW外,还要对其值具体检查,使用sqlite3_column_bytes() ,若返回0,则表示为NULL。