sql-server - 我们可以使用 if 条件来比较 2 个日期并在 sql server 中显示该行吗
问题描述
我有 2 个日期列,一个是当前日期,一个是用户定义日期,当用户定义日期比当前日期大 2 天时,我必须显示特定行。
在下面的代码中,当两个日期相等时,我尝试显示该行。但我不知道如何在 sql 中显示该行。
我有以下专栏,
Rid
DateTime
(用户定义日期和时间)Reminder
Description
CRDateTime
(当前日期和时间)
我必须设置3个条件。
- 如果两个日期相等意味着应该显示,
- 如果 DateTime 比 CRDate 早 2 天意味着我必须显示该行,
- 如果 DateTime 比 CRdate 早 1 天,则意味着我必须显示该行。
declare DateTime as datetime1;
select RId if CAST (DateTime as date) =CAST (@CRDateTime as date)
解决方案
该IF...ELSE
语句是一个控制流语句,允许您根据指定条件执行或跳过语句块。
例如:
IF Boolean_expression
BEGIN
-- Statement block executes when the Boolean expression is TRUE
END
ELSE
BEGIN
-- Statement block executes when the Boolean expression is FALSE
END
如果要检查 SQL 语句中的某些内容,则应使用该where
子句。
它可能看起来像:
SELECT * FROM `[YOUR_TABLE_NAME]` WHERE `DateTime` = `CRDateTime`
如果要检查 2 天十年中的日期,可以使用 SQLDATEADD
函数。
它看起来像:
SELECT DATEADD(day, +1, '2017/08/25') AS DateAdd;
此代码的结果是2017/08/26
在您的情况下,它看起来像这样:
SELECT RId where DATEADD(day, +2, DateTime) = CRDateTime
--- 编辑部分: ---
编辑1:
多合一您可以在此处使用此代码:
SELECT RId WHERE
`DateTime` = `CRDateTime` OR
DATEADD(day, +1, DateTime) = CRDateTime OR
DATEADD(day, +2, DateTime) = CRDateTime
推荐阅读
- git - 跨具有不同提交历史的存储库应用补丁
- python - 在 Python 中为 Enum 类创建属性
- python - python选择与timedelta不同的子数组
- spring-boot - Sping-Boot Config:如何在用于填充 Map 的 yaml 键中保留空格
- mysql - 如何在 AWS ECS 上部署 MySQL docker 镜像?
- java - 原因:org.jetbrains.plugins.gradle.tooling.util 错误
- css - 用css放置元素?
- php - 传递数组以在 Codeigniter 中查看
- html - 仅使用 css 和 html 激活的两个或多个选项卡部分
- c# - 隐藏 ListView Xamarin 表单的复杂问题