sql - 如何在sql中指示日期为空
问题描述
使用以下代码,我希望检索 ClosedDateTimeT 字段具有空值的记录,但它仅显示具有值的记录。我在这里做错了吗:
SELECT DISTINCT
t.ticketid,
t.Sub,
i.status,
i.OwnedByTeam,
i.OwnedByTeamT,
i.TypeOptions,
i.ClosedDateTimeT,
i.CompletedDateTime,
i.TitleT
FROM
ticket AS t
INNER JOIN
Incident AS i ON t.TicketID = i.IncidentID
WHERE
CAST(t.Sub AS DATE) >= '01-01-2019'
AND CAST(t.Sub AS DATE ) <= '05-30-2019'
AND i.Subcategory = 'Content Request'
AND (i.TypeOptions = 'New/Initial Submission' OR
i.TypeOptions = 'Am/Re')
AND ((i.OwnedByTeamT LIKE '%C - CA%'
AND i.TitleT LIKE '%B Build%'
AND i.ClosedDateTimeT IS NOT NULL) OR
(i.OwnedByTeamT LIKE '%C - CA%'
AND i.TitleT LIKE '%B Build%'
AND i.ClosedDateTimeT IS NULL) OR
(i.OwnedByTeamT LIKE '%E - Cl%'
AND i.TitleT LIKE '%OP B V%'))
解决方案
不太确定您面临的问题是什么,但您的查询可以稍微简化并格式化。请注意,我也在使用符合 ANSI 的日期文字。
Select distinct t.ticketid
, t.Sub
, i.status
, i.OwnedByTeam
, i.OwnedByTeamT
, i.TypeOptions
, i.ClosedDateTimeT
, i.CompletedDateTime
, i.TitleT
From ticket as t
inner join Incident as i on t.TicketID=i.IncidentID
where
CAST(t.Sub AS DATE) >= '20190101'
AND CAST(t.Sub AS DATE ) <= '20190530'
AND i.Subcategory = 'Content Request'
AND i.TypeOptions in ('New/Initial Submission', 'Am/Re')
AND
(
(
i.OwnedByTeamT like '%C - CA%'
AND
i.TitleT LIKE '%B Build%'
)
OR
(
i.OwnedByTeamT like '%E - Cl%'
AND
i.TitleT LIKE '%OP B V%'
)
)
推荐阅读
- angular - 如何在 Angular 中动态导入组件?
- android - 如何将数据解析为来自其他类的链接 api
- javascript - 通过 javascript 和 XmlHttpRequest 发送多部分/相关请求
- javascript - Flexslider 下一个和上一个按钮不清晰可见
- python - 张量流中每个通道的全连接层
- java - 验证信用卡号
- javascript - 使用 Laravel 控制器的 AJAX POST 请求调用并从 CSRF 保护中排除,但返回错误 500
- python - 无法从特定页面抓取 main_container
- python - 如何从生成随机字母集的代码中提取真实单词
- ios - 在 Xcode 10.2 中使用 Swift 3 - 命令 /Library/Developer/Toolchains/swift-3.0-RELEASE.xctoolchain/usr/bin/swiftc 失败,退出代码为 1