create table test (day, timespan);
insert into test values ('Sunday', '10:00-22:00');
insert into test values ('Saturday', '10:00-22:00');
insert into test values ('Monday' , '10:00-19:00');
insert into test values ('Tuesday', '10:00-18:00');
insert into test values ('Friday', '10:00-19:00');
1条答案
按热度按时间u0sqgete1#
您可能需要使用几个函数
instr
,substr
以及julianday
得到你需要的东西。table
假设你的table是这样的:
查询
运行以下查询,以小时为单位显示时间
结果
解释
如果您的时间存储在以下列中:
10:00-22:00
,那么我们应该把开始时间和结束时间分开。为此,我们找到了-
使用instr
. 例如,instr('10:00-22:00', '-')
我给你6英镑。这意味着-
在第六位。知道破折号在哪里,我们可以通过从开始到破折号提取字符来找到开始时间。我们可以通过从破折号开始到字符串末尾的字符来获取结束日期。我只是选择在破折号后用
substr
.因为我们只有一个时间和一个日期,所以我创建了一个虚构的日期2000-01-01,并将开始时间预先添加到它来创建开始日期/时间。我对结束日期也做了同样的事。
julianday
“开始日期”和“结束日期”给出了从某一天开始经过的天数,正好是美国独立日。所以,从开始日期的julianday中减去结束日期的julianday将得到天数。乘以24得到小时数。