2013-05-16 33 views
10

Her şeyden önce yardımlarınız için teşekkürler. Öğrenme SQL'i yapıyorum, bu yüzden biraz yardıma ihtiyacım var.Sqlite: null/empty dizeleri içeren satırların nasıl silineceği

Belirli bir sütundaki bazı alanların hiçbir şey veya boşluk dizisi içermediği bir Sqlite veritabanına sahibim.

Lütfen veritabanından hiçbir şey (veya boşluk dizisi) içeren satırları nasıl silerim? Yardımlarınız için

teşekkürler.

cevap

25

bu deneyin NEREDE

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

bu bak boş bir dizeye çöktü.

+0

düzenleme ya da çalışmıyor .... teşekkürler –

+0

Test verilerinizi paylaşır mısınız? Bu benim için SQLite ile iyi çalışıyor. Tabii ki –

+0

. Ama ben db'yi e-posta yoluyla göndermem gerekiyor çünkü bir güvenlik duvarının gerisindeyim –

1

Bu cevap herhangi bir SQL veritabanı için çalışacaktır: Sadece boşluk içeren dizeleri böylece trim() gereklidir

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

: fıkra working in SQLFiddle

+0

Bu, "dizesini algılamaz '' gibi MY_COLUMN IS NULL MY_TABLE DAN SİL boşluklar "case. –

+1

Hayır, sadece SQLite ile test ettik. Bir boşluk dizisi, '' 'ile eşleşmiyor. –

+0

Hayır, işe yaramıyor. Yine de teşekkürler –

3

bu deneyin:

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

Çoklu Kolon:

DELETE FROM tbl 
WHERE 
    (filed IS NULL OR filed = '') 
    AND (filed2 IS NULL OR filed2 = '') 
    AND (filed3 IS NULL OR filed2 = '') 
İlgili konular