Sqlite3中两个日期之间的差异

时间:2019-04-05 21:19:21

标签: sql sqlite

我在Sqlite3中工作并尝试过

DATEDIFF(days, listing_date, sale_date)

但是没有用。在Sqlite3中作为时间戳的两列之间进行区别的正确方法是什么?

id  listing_date    sale_date
1   2012/02/27      2020/02/27
2   2011/06/27      2020/02/17
3   2008/08/03      2020/02/19
4   2012/12/27      2020/02/07
5   2001/02/17      2020/02/29
6   2019/02/01      2020/02/27
7   2018/02/27      2020/02/03

1 个答案:

答案 0 :(得分:3)

您可以使用julianday()

SELECT 
  julianday(replace(sale_date, '/', '-')) - julianday(replace(listing_date, '/', '-'))
FROM tablename

您将获得以天为单位的天数差异。
如果您的日期列包含时间部分,则可能会得到带有小数位的结果,例如:5.1234,您可以将round()cast转换为整数值。
如果您将日期格式存储在问题中,则必须用/替换-