如何使用sqlserver获取日期之前的费率?

时间:2014-01-06 06:55:11

标签: sql sql-server

select rateperkg from K_FS_FeedMrpDetails where date = getdate()-1

我想在日期值

之前显示rateperkg列

4 个答案:

答案 0 :(得分:1)

试试这个

昨天

select rateperkg from K_FS_FeedMrpDetails where date = DATEADD(d,-1,GETDATE())

请参阅此链接了解更多详情。

我认为这会对你有所帮助

http://blog.sqlauthority.com/2008/08/29/sql-server-few-useful-datetime-functions-to-find-specific-dates/

答案 1 :(得分:1)

尝试使用DATEADD()功能并将其转换为日期以删除时间部分,如下所示

SELECT rateperkg 
FROM   k_fs_feedmrpdetails 
WHERE  date = Cast(Dateadd(day, -1, Getdate()) AS DATE); 

答案 2 :(得分:1)

此代码将时间设置为零。

declare @DaVal as datetime

--111 will return yyyy/MM/dd
--101 will return MM//dd/yyyy
set @DaVal = convert(datetime, convert(varchar(25), DATEADD(d,-1,GETDATE()), 111)) 

select rateperkg from K_FS_FeedMrpDetails where date = @DaVal

答案 3 :(得分:0)

如果您的日期列存储日期和时间,请使用以下条件

where date >=convert(date,getdate()-1)
and date < getdate()

其他

where date = convert(date,getdate()-1)