2013-05-16 34 views
10

Trước hết, cảm ơn sự giúp đỡ của bạn. Tôi làm một SQL học tập, vì vậy tôi cần một số trợ giúp.Sqlite: cách xóa các hàng có chứa các chuỗi rỗng/rỗng

Tôi có một cơ sở dữ liệu Sqlite trong đó một số trường trong một cột nhất định không chứa gì hoặc chuỗi dấu cách.

Làm cách nào để xóa các hàng không chứa gì (hoặc chuỗi khoảng trắng) khỏi cơ sở dữ liệu?

Cảm ơn sự giúp đỡ của bạn.

Trả lời

25

Hãy thử điều này:

DELETE FROM myTable WHERE myColumn IS NULL OR trim(myColumn) = ''; 

Các trim() là cần thiết để chuỗi chỉ chứa khoảng trắng là được thu gọn thành một chuỗi rỗng.

+0

không hoạt động ... thanks –

+0

Bạn có thể chia sẻ dữ liệu thử nghiệm của mình không? Điều đó làm việc tốt với tôi với SQLite. –

+0

tất nhiên. Nhưng tôi phải gửi cho bạn db qua email vì tôi đứng sau tường lửa –

1

Câu trả lời này sẽ làm việc cho bất kỳ cơ sở dữ liệu SQL:

DELETE FROM MY_TABLE 
WHERE MY_COLUMN IS NULL 
OR TRIM(MY_COLUMN) = '' 

Xem này mệnh đề WHERE working in SQLFiddle

+0

này không phát hiện các "chuỗi dấu cách "case". –

+1

Không, tôi vừa thử nghiệm với SQLite. Một chuỗi các dấu cách không khớp với ''''. –

+0

Không, nó không hoạt động. Cảm ơn anyway –

3

Hãy thử điều này:

DELETE FROM tbl 
WHERE 
    (filed IS NULL OR filed = '') 

Nhiều Cột:

DELETE FROM tbl 
WHERE 
    (filed IS NULL OR filed = '') 
    AND (filed2 IS NULL OR filed2 = '') 
    AND (filed3 IS NULL OR filed2 = '') 
0

DELETE FROM MY_TABLE ĐÂU MY_COLUMN IS NULL HOẶC MY_COLUMN như ''

Các vấn đề liên quan