你只是在你的WHERE
条款添加一个条件
SELECT DISTINCT PointPerson
FROM DailyTaskHours
WHERE ActivityDate BETWEEN @startDateParam AND @endDateParam
AND PointPerson <> ''
GROUP BY PointPerson
HAVING SUM([Hours]) > 0
ORDER BY PointPerson
有很多这种情况的变化,这取决于你的表是如何规范化。
如果你确信你将永远有一个空格,那么你可以使用:
AND PointPerson <> ''
如果能够有一个NULL值时,它的最明智的做法是使用方法:
AND ISNULL(PointPerson, '') <> ''
如果有可能在这一领域的空间(他们将冲击片雷管为空白,但仍然不被第一个选项被抓),哟ü可以用组合一起使用的附加条件与前两种,它提供了最安全的选择(覆盖大多数情况下):
AND ISNULL(PointPerson, '') <> ''
AND LEN(LTRIM(PointPerson)) > 0
的条件这一组合将帮助你避免NULL值,和多个空格它们是将通过修剪LTRIM
来消除,其结果必须至少有一个字符。
你可以正常化你的表;) – woz
他们不是我的表= P –