sql - 基于具有日期范围的列中的两个值的 SQL 查询
问题描述
所以这就是我想要完成的。我想返回指定日期范围内的所有行,其中列中的值为一个值“C”或另一个“X”。我在 SQL 方面并不精通,而在为 excel 或 google 表格编写脚本方面更自如。我会假设有一个非常简单的解决方案,但这是我到目前为止所写的内容,但它不起作用。
Declare @FromDate DateTime
Declare @ToDate DateTime
Set @FromDate='20201027'
Set @ToDAte ='20201102'
select * from oehdr where OrderStatus='C' or OrderStatus='X'
当我修改当前尝试时,我收到的错误是“无效 SQL,无内存”和脚本错误。
解决方案
问题中没有足够的信息。我们不知道日期列的名称,或者是否包含时间,或者ToDate
值是否包含一整天。它甚至不是 100% 清楚你正在使用什么数据库,因为有一些与问题相矛盾的信息。
但我会尽我所能做出一些猜测:
Declare @FromDate DateTime = '20201027'
Declare @ToDate DateTime = '20201102'
SELECT *
FROM oehdr
WHERE OrderStatus IN ('C', 'X')
AND OrderDate >= @FromDate AND OrderDate < DATEADD(day, 1, @ToDate)
请注意,我没有使用运算BETWEEN
符。BETWEEN
在范围的两端都包含在内,这很少是我想要的日期。相反,当我想要一整天时,我会添加一天并在范围结束时使用排他条件。
推荐阅读
- java - 尝试进行构造函数链接时,我不断收到“错误:找不到符号”
- c++ - UE4 创建一个新的 c++ 游戏模式类
- android - 如何在片段 android Studio 中检索联系人列表?问题出在哪里
- python-3.x - 所以我想构建一个函数,它返回一个带有大写字符串的列表
- c# - Azure 云服务 Web 角色未启动 - 未处理的异常 - 找不到程序集
- c - 我有一个名称相似的结构变量,如何在 c 中打印出来
- google-chrome-extension - 高效添加规则
- c# - 包装面板内的 ItemsControl 未使用所有可用空间
- python - 在 python 中使用 .cache() 进行数据准备
- linux - 如何有一个通用函数来获取 BASH 中的当前目录和文件名?