从现在的月份时间获取月份,从现在开始的一年中获取年份并写入特定的日期
问题描述:
大家好我想从发票和客户端搜索数据到今天的日期我正在使用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。
Q - 查询做了一些相同的日期,我想从日期时间现在月份获得月份,从现在的日期时间获得年份 并仅写入特定的一天。
答
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
答
我不明白你的问题,但据我所知,你想有一个时间差,而不是0天。然后您将不得不使用其他日期部件(第一个参数为DateDiff()
)请参阅MS documentation of DateDiff以获取详细信息或DateAdd函数。
此外,也许你想使用
i.date between DateAdd(dd, -10, getDate) and getDate()
(这将显示一切十天之间前和今天)。
对不起 - 我很难理解你要求什么。你能提供一个你期望输出的例子吗? – 2010-08-23 17:26:21
非常令人困惑的问题,但我认为您正在尝试编写一个查询来筛选当前月份和年份的发票,并且您希望查询仅输出一天(因为过滤器假定的月份和年份)。那是对的吗? – 2010-08-23 17:32:26