问题描述
我有很多行/记录,其中一列(movieId)没有任何有用的值:
...但是没有,正如您在矩形的“不影响行”中看到的那样
如何消除/删除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),'') = '';