sql-server-2008 - 如何检索之前的日期并在查询中使用它?

标签 sql-server-2008 date select

我想检索之前的日期(即当前日期减 1)并通过 = 运算符在查询中使用它。

我得到以下查询来检索以前的日期:
选择 DATEADD(DD, DATEDIFF(DY, 0, GETDATE()), -1)

它给出:2011-03-14 00:00:00.000

我只想获取:2011-03-14,并在查询中使用它来检查列的数据。

类似于:
从表中选择*,其中column1 in ('values list') and date=(previous_date)

如何将两者结合起来并以我想要的格式获得它?

最佳答案

这可能会解决您的问题。

select * from table where 
column1 in ('values list') and 
DATEADD(DD, DATEDIFF(DY, 0, date), 0)=DATEADD(DD, DATEDIFF(DY, 0, GETDATE()), -1)

关于sql-server-2008 - 如何检索之前的日期并在查询中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5308176/

相关文章:

php - MySQL & PHP - 只列出之前没有列出的项目

c# - 列出带有实例的可用 SQL Server 不包括 SQL Server Express

sql - 带有 IN 语句的 SQL 语句中的案例问题

iphone - 简单的日期格式问题yyyymmdd

mysql - 选择以 A 到 L 范围开头的名称

mysql 选择加入第二行

sql - 批量脚本执行

sql-server-2008 - 从逗号分隔的字符串批量插入

date - 如何解析格式为 : 的日期

java - 字符串 -> java.util.Date -> java.sql.Date(带时间戳)