sql - SQL Count Where on a specific date...但结果为 0
问题描述
嗨,这不是我第一次使用此查询:
SELECT COUNT(*) from dbo.SchDetail WHERE dbSchDate = '08-06-2020'
查询正在工作,但他每次都计数为 0。
但如果我做一个between "08-06-2020" and "07-06-2020"
.
我得到了正确的结果。
对于 mysql,两个查询都可以正常工作。
但不是在 MSSQL 上。
我不知道我做错了什么。
感谢帮助
解决方案
你得到0
是因为该WHERE
子句过滤掉了所有行。有多种原因;例如:
- 桌子可能是空的。
dbSchDate
可能是datetime
带有时间组件的。- 该常数可能无法正确解释为日期/时间。
- 表中的值可能不匹配。
我建议采用 YYYYMMDD 格式的正确日期格式:
WHERE dbSchDate = '20200806'
您还可以使用:
WHERE dbSchDate >= '20200806'
dbSchDate < '20200807'
即使有时间组件,此版本也可以使用,如下所示:
WHERE CONVERT(DATE, dbSchDate) = '20200806'
推荐阅读
- c# - 使用无参数构造函数初始化 Struct
- javascript - 使用云函数更新对象数组
- python - 每行列出熊猫中的二维数组需要更有效的方式
- javascript - jQuery日期范围选择器在移动到下个月时设置最近的月份
- django - Django - django-select2 不适用于 inlineformset
- python - netcdf4-python 无法在 celery/django 中运行
- thingsboard - 生成通过 thingsboard 实例传播的内部警报
- sql-server - 在将触发器转换为 T-SQL 时需要帮助
- jquery - 如何重定向到另一个页面并在该页面上触发事件
- javascript - 将此 javascript 助手更改为 C++ 是否会提高 QML 应用程序的性能?