从字符串列提取总小时数的SQL解决方案
我在表1中有一个varchar(255)列:从字符串列提取总小时数的SQL解决方案,sql,sqlite,datetime,Sql,Sqlite,Datetime,我在表1中有一个varchar(255)列: time -------------------------- Monday|10:00-18:00 Tuesday|10:00-16:00 Friday|10:00-20:00 如何使用SQLite从上述列中提取小时数?我试着使用varchar()和datetime(),但都不起作用。我应该用正则表达式来计算时间吗 提前感谢。您可以使用以下方法提取时间值: selec
time
--------------------------
Monday|10:00-18:00
Tuesday|10:00-16:00
Friday|10:00-20:00
如何使用SQLite从上述列中提取小时数?我试着使用varchar()和datetime(),但都不起作用。我应该用正则表达式来计算时间吗
提前感谢。您可以使用以下方法提取时间值:
select substr(time, -11, 5), substr(time, -5)
然后可以使用julianday()
以秒(或任何其他单位)为单位获取差值:
是一把小提琴。再次感谢戈登的帮助。
select round((julianday(substr(time, -5)) - julianday(substr(time, -11, 5))) * 60 * 60 * 24) as seconds_diff
from t;