从日期范围中获取两个日期之间的DAYS数据

时间:2019-12-12 07:41:33

标签: sql-server date

我有一个名为Bills的表,它包含这样的数据

BillID     | From_date  | To_date
-----------+------------+------------
3          | 2017-01-01 | 2017-01-30
6          | 2017-02-06 | 2017-02-25
8          | 2017-02-05 | 2017-02-28

我想获取日期范围内两个日期之间的DAYs数据

例如,如果我在2017年1月25日至2017-02-02之间进行搜索

结果是:

6天。因为在(2017-01-25和2017-02-02)和我的表之间共享9天

示例2,如果我在2017年1月1日至2017年1月5日之间进行搜索

结果是:

5天。因为在2017年1月1日至2017年1月5日之间,我的表共享了5天

2 个答案:

答案 0 :(得分:1)

enter image description here,您可以使用datediff函数,该函数用于显示开始日期和结束日期之差

从#temp选择*,DATEDIFF(day,From_date,To_date)days_diff

答案 1 :(得分:1)

尝试:

class User(models.Model):
    name = models.CharField(max_length=20)

class Category (models.Model):
    name = models.CharField(max_length=20)
    user = models.ForeignKey(User)

class Subcategory (models.Model):
    name = models.CharField(max_length=20)
    category = models.ForeignKey(Category)