sql-server - 这个case语句是不必要的吗?
问题描述
我正在重构一些代码并遇到了这个
WHERE CASE
WHEN (cast(ISNULL(datetimeColumn, '19990101') as date) >= '20160101') THEN 1
ELSE 0
END = 1
这对我来说似乎过于复杂。
这不能简单吗:
WHERE cast(ISNULL(datetimeColumn, '19990101') as date) >= '20160101'
或者更简单:
WHERE ISNULL(datetimeColumn, '19990101') >= '20160101'
解决方案
你只需这样做:
WHERE datetimeColumn >= '20160101'
推荐阅读
- python - 如何在python中为请求的响应添加额外的键、值
- android - Flutter 图像选择器崩溃
- javascript - 无限滚动:在滚动结束时在数组中添加元素后,数组列表不会在 *ngFor 中呈现
- html - 伪元素前后的额外像素
- go - 无法编组,(实现 encoding.BinaryMarshaler)。带有多个对象的 go-redis Sdd
- javascript - 迭代承诺
用 *ngFor? - javascript - 如何使用 puppeteer 单击 iframe 中的按钮?
- spring-boot - 如何在 Spring WebClient 中验证响应对象
- reactjs - 替换所有字符串并包装为 html
- python - 如何在我的 Visual Studio Code 扩展中使用 Python 路径?