android 上的 sqlite 中的日期时间算法
Datetime aritmethics in sqlite on android
我想在 Sqllite 中做一些日期时间算术运算。我有一个 table,其中两行定义为 DATETIME
类型。这些字段称为 LOG_FROM 和 LOG_TO。在对此 table 的查询中,我尝试执行以下操作:
SELECT SUM(LOG_FROM - LOG_TO) AS TIMESPENT FROM LOG_TABLE WHERE X=Y;
SUM
函数中的这个减法没有按预期工作。它总是 return 数字 0。我通过 cursor.getString.
读取数据
当我将日期存储在 table 中时,我将它们转换为 yyyy-MM-dd HH:mm:ss
格式的字符串
SQLite ignores column data types。您的日期字符串是字符串。
built-in date functions 支持您的日期格式,因此您可以使用它们将日期转换为数字。
假设您希望结果为天数,请使用 julianday
:
SELECT SUM(julianday(LOG_TO) - julianday(LOG_FROM)) ...
我想在 Sqllite 中做一些日期时间算术运算。我有一个 table,其中两行定义为 DATETIME
类型。这些字段称为 LOG_FROM 和 LOG_TO。在对此 table 的查询中,我尝试执行以下操作:
SELECT SUM(LOG_FROM - LOG_TO) AS TIMESPENT FROM LOG_TABLE WHERE X=Y;
SUM
函数中的这个减法没有按预期工作。它总是 return 数字 0。我通过 cursor.getString.
当我将日期存储在 table 中时,我将它们转换为 yyyy-MM-dd HH:mm:ss
SQLite ignores column data types。您的日期字符串是字符串。
built-in date functions 支持您的日期格式,因此您可以使用它们将日期转换为数字。
假设您希望结果为天数,请使用 julianday
:
SELECT SUM(julianday(LOG_TO) - julianday(LOG_FROM)) ...