首页 > 解决方案 > 如何使用 DATETIME 字段从昨天提取所有数据

问题描述

我需要从昨天的日期/时间字段中专门提取数据。我不断收到错误。我不确定我做错了什么。

我需要的是带有昨天日期的 CustomerPurchaseDateTime 的所有行。

这是我的 WHERE 语句:

例子:

AND CAST(v.CustomerPurchaseDateTime AS DATE) >= DATEADD(DAY, -1,
CONVERT(v.CustomerPurchaseDateTime,GETDATE())) 

错误例如: 消息 4104,级别 16,状态 1,行 45 无法绑定多部分标识符“v.AdmitDtm”。消息 243,级别 16,状态 1,第 45 行类型 v.AdmitDtm 不是已定义的系统类型。

注意:我没有让您使用发布的示例。我刚刚发布它是为了提供一些关于我所在位置的背景信息。

标签: sqlsql-serverdatetime

解决方案


您使用CONVERT不正确。但是假设 CustomerPurchaseDateTime 是一个日期时间,你可以简单地这样做:

WHERE v.CustomerPurchaseDateTime >= CAST(DATEADD(DAY, -1, GETDATE()) AS DATE)

2018-11-05 12:34:56上面将检查日期>= 2018-11-04 00:00:00


推荐阅读