你只是在你的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 –