sql - 如何使用 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 不是已定义的系统类型。
注意:我没有让您使用发布的示例。我刚刚发布它是为了提供一些关于我所在位置的背景信息。
解决方案
您使用CONVERT
不正确。但是假设 CustomerPurchaseDateTime 是一个日期时间,你可以简单地这样做:
WHERE v.CustomerPurchaseDateTime >= CAST(DATEADD(DAY, -1, GETDATE()) AS DATE)
在2018-11-05 12:34:56
上面将检查日期>= 2018-11-04 00:00:00
推荐阅读
- javascript - 我在等待 Nodejs 中的多个异步函数时遇到问题
- java - 是否有 onPlayerJoin 的客户端版本?
- node.js - Next.js 和 SWR:无法通过 SWR 挂钩中的 API Passport 使用户成功登录
- python - 如何将熊猫数据框转换为指定的字典
- java - Eclipse内置Maven时,如何找到Maven的PATH?
- javascript - 如何在javascript中获取以前的url?
- javascript - 无法使用 - 在 reactjs 中标记将 Markdown 转换为 html
- c - 检查 vmsplice() 何时发送缓冲区
- go - 如何通过多个插件分发路由
- c - Valgrind:有条件的跳转或移动取决于未初始化的值。用 '\0' 终止较长数组中的字符串是否足够?