微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何删除SQL Server列中带有“空字符串”的行?

如何解决如何删除SQL Server列中带有“空字符串”的行?

我有很多行/记录,其中一列(movieId)没有任何有用的值:

enter image description here

根据答案here,以下方法应该起作用:

enter image description here

...但是没有,正如您在矩形的“不影响行”中看到的那样

如何消除/删除MovieId列中的所有行,什么都没有(除了空白)?

解决方法

关于为何无法删除IS NULL的一种解释是,MovieId的值是空字符串,而不是NULL。您可以使用以下选项同时处理NULL和空字符串:

DELETE
FROM dbo.ACTORS_MOVIES_M2M
WHERE COALESCE(MovieId,'') = '';
,

也许是吗?

DELETE
FROM dbo.ACTORS_MOVIES_M2M
WHERE NULLIF(MovieId,'') IS NULL;
,

请注意,您上面的示例似乎有多个空格,而不只是一个空白值。

因此,您可以使用与上面类似的内容将其删除,但要有修饰。

FROM dbo.ACTORS_MOVIES_M2M
WHERE LTRIM(MovieId) = '' OR Movie_ID IS NULL;

您还可以使用上方的COALESCE / NULLIF选项,例如,

FROM dbo.ACTORS_MOVIES_M2M
WHERE COALESCE(LTRIM(MovieId),'') = '';

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。