我正在寻找一个好的SQL语句来从一个表中 Select 前一天的所有行.该表包含一个datetime列.我使用的是SQLServer2005.

推荐答案

今天抓紧时间:

SELECT dateadd(day,datediff(day,0,GETDATE()),0)

昨天没有时间:

SELECT dateadd(day,datediff(day,1,GETDATE()),0)

查询昨天的所有行:

select 
    * 
    from yourTable
    WHERE YourDate >= dateadd(day,datediff(day,1,GETDATE()),0)
        AND YourDate < dateadd(day,datediff(day,0,GETDATE()),0)

Sql相关问答推荐

在数据分区内执行确定

如何以"% m—% d"格式对生日列表进行排序,以查找与今天最近的日期?

Oracle SQL-将结果列在单行中

对任何(数组)使用LIKE?

在Oracle SQL中将列值转换为行

根据开始日期和结束日期的差异计算每天的计费

在SQL Server中设置关联对象的有效JSON格式

无法将发票与产品价格相关联

优化Postgres搜索未知长度的子串

如何在Postgres中为单值输入多行?

SQL仅返回第一个字母在A-Z之间的值

SQL:如果一个表中的日期在另一个表的日期的12个月内,则为是或否

如何使子查询在UPDATE语句期间获得最新更新

将用户授予另一个用户不授予权限

Select 最频繁的值以及分组依据

什么是 100.它与 100 有什么区别?

MS ACCESS 错误插入 X(...) 从 A 联合 Select ... 从 B

为什么 get_json_object() 无法从存储在 Hive SQL 表中的 JSON 中提取值?

Snowflake 中的对象是如何比较的?

Postgres 条件求和函数