簡體   English   中英

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

[英]How can I delete rows with "Empty Strings" in a column in SQL Server?

我有很多行/記錄,其中一列 (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), '') = '';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM