sqlite_step的SQLITE_ROW

假设表为空,以下两个查询:

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。

原文地址:https://www.cnblogs.com/any91/p/12800546.html