从现在的日期时间开始月份,从现在的日期时间获取年份并写出特定日期

时间:2010-08-23 17:22:16

标签: sql sql-server-2005

大家好我想要发票和客户端的搜索数据到今天我正在使用DateDiff()GETDATE()函数,例如两个表

1个客户

 - ID   int
 - Name Varcher

2发票

 - ID int
 - ClientID int
 - date  Datetime
 - Total  money

查询

 Select * from client c 
 inner join invoice i on c.id = i.ClientID 
 WHERE DateDiff(dd, i.date, getdate()) = 0

当我运行查询getdate()时,它是从日期时间开始获取日期的函数 日期内容当前月份和当前年份和当前日期 当我今天运行查询时,日期是08-23-2010,当我明天运行查询时,日期是08-24-2010。

问题 - 查询做了一个相同的日期我希望从日期时间到月份获得月份,获得年份 从现在的日期开始,仅限特定日期。

2 个答案:

答案 0 :(得分:0)

我不明白你的问题,但就我所知,你希望有0天以外的时差。然后,您必须使用其他日期部分(DateDiff()的第一个参数)。有关详细信息,请参阅MS documentation of DateDiffDateAdd函数。

此外,也许你想使用

i.date between DateAdd(dd, -10, getDate) and getDate()

(这将显示十天前和今天之间的所有内容。)

答案 1 :(得分:0)

declare @day integer

select @day = 10

Select * from client c 
inner join invoice i on c.id = i.ClientID 
WHERE 
DateDiff(dd, i.date, dateadd(dd,@day-datepart(dd,getdate()),getdate())) = 0