C# SQLIte和日期时间

C# SQLIte和日期时间,c#,sqlite,system.data.sqlite,C#,Sqlite,System.data.sqlite,我有一个包含行和时间值的数据库。我需要该时间值的总和(通常,格式为%H:%M) 我使用了这样的求和值: SELECT SUM(n_hores) FROM table; 但只有我得到了0.0 我怎么能做到 谢谢您最好通过获取“自上一个纪元(又称现代纪元)以来的毫秒数”来减去这两个日期。SQLite中应该有一个函数,返回自上一个纪元以来的毫秒数。一旦你发现了这一点,解决方案应该是简单的减法,并将其转换为秒、分钟和/或小时。格式为hh:mm的时间值是字符串,不能对字符串进行有意义的求和 您应该将这些

我有一个包含行和时间值的数据库。我需要该时间值的总和(通常,格式为%H:%M)

我使用了这样的求和值:

SELECT SUM(n_hores) FROM table;
但只有我得到了0.0

我怎么能做到


谢谢

您最好通过获取“自上一个纪元(又称现代纪元)以来的毫秒数”来减去这两个日期。SQLite中应该有一个函数,返回自上一个纪元以来的毫秒数。一旦你发现了这一点,解决方案应该是简单的减法,并将其转换为秒、分钟和/或小时。

格式为
hh:mm
的时间值是字符串,不能对字符串进行有意义的求和

您应该将这些时间值转换为一个数字(
strftime(%s)
返回自1970-01-01以来的秒数,因此您必须从一天开始减去偏移量,以获得与您的时间值相对应的秒数):

从MyTable中选择sum(strftime('%s',MyTime)-strftime('%s','00:00')
您还可以将此秒数转换回时间字符串(
time()
hh:mm:ss
格式返回):

从MyTable中选择时间(总和(strftime('%s',MyTime)-strftime('%s','00:00'))

当我从表中选择strftime(“%s”,n_hores)时,我得到空值:s n_hores是一个日期时间列OK,该值必须是00:15:p