Tsql T SQL根据计算字段删除记录

Tsql T SQL根据计算字段删除记录,tsql,Tsql,我想删除表中6个字段的答案为零/空的行: Delete from TableA WHERE (a + b + c + d + e + f) IS NULL 谢谢你试试这个 DELETE T FROM dbo.TableA T WHERE COALESCE(a, 0) + COALESCE(b, 0) + COALESCE(c, 0) + COALESCE(d, 0) + COALESCE(e, 0) +

我想删除表中6个字段的答案为零/空的行:

Delete
from TableA
WHERE (a + b + c + d + e + f) IS NULL
谢谢你试试这个

DELETE T FROM
  dbo.TableA T
  WHERE COALESCE(a, 0) + 
        COALESCE(b, 0) + 
        COALESCE(c, 0) +
        COALESCE(d, 0) +
        COALESCE(e, 0) +
        COALESCE(f, 0) = 0

请参见

如果您只想删除这些行,则可以使用类似于

DELETE FROM TableName
WHERE (a + b + c + d + e + f) IS NULL OR (a + b + c + d + e + f) = 0

我希望它能帮助你。:)

您的意思是所有字段都为空,还是有一个或多个字段为空

它可以简单到:

delete
from TableA
WHERE (a + b + c + d + e + f) IS NULL


无需对每一列都使用此选项

如果有非空行全部为零怎么办?@bendataclear问题是零还是空,如果所有字段的总和为空,我的答案在任何情况下都有效/zero@wilest,如果其中一个字段为null,则即使其余字段都有值,它也将返回null。
 WHERE COALESCE((a + b + c + d + e + f), 0) = 0
 WHERE NULLIF((a + b + c + d + e + f), 0) IS NULL