如何将值从Sqlite DB传递给julianday()

如何将值从Sqlite DB传递给julianday(),sql,sqlite,date,datetime,select,Sql,Sqlite,Date,Datetime,Select,我需要计算以文本表示的两个日期之间的差异julianday()可以执行此操作,但它接受一个文本: select(julianday('2015-01-01 12:00:00') - julianday('2015-01-01 13:00:00')) 但如果我有一张桌子: CREATE TABLE "time_u" ( "time_in" TEXT, "time_out" TEXT ); INSERT INTO

我需要计算以文本表示的两个日期之间的差异
julianday()
可以执行此操作,但它接受一个文本:

select(julianday('2015-01-01 12:00:00') - julianday('2015-01-01 13:00:00'))
但如果我有一张桌子:

CREATE TABLE "time_u" (
    "time_in"   TEXT,
    "time_out"  TEXT
);

INSERT INTO time_u (time_in, time_out)
VALUES ('2007-01-01 10:00:50', '2007-01-01 11:00:00')
我怎么能做这样的事

julianday(time_u.time_out-time_u.time_in)

换句话说,直接从数据库中获取值,并将其作为日期减去。您可以将每个日期改为朱利安日,然后减去:

select 
    t.*,
    julianday(time_out) -julianday(time_in) day_diff
from time_u t
如果您想要更准确的信息,可以将datetimes转换为epoch timestamp。假设您希望以分钟为单位计算差异,然后:

select 
    t.*,
    (strftime('%s', time_out) - strftime('%s', time_in)) / 60.0 day_diff
from time_u t

您已经问了同样的问题:它已作为副本关闭。原始问题的链接包含所提供的答案以及您需要的所有信息。结果:没有此类列:time\u.time_in@ibse:这是因为表别名。修正了。我如何将此转换为分钟?我在哪里添加*24*60???@ibse:查看我的更新答案。