Kodumda aşağıdaki gibi birçok kontrolün olmasını önlemek istiyorum:
myObj.someStringField = rdr.IsDBNull(someOrdinal)
? string.Empty
: rdr.GetString(someOrdinal);
Bunun gibi bir şey yaparak sorgumun boş değerlerle ilgilenmesini sağlayabileceğimi düşündüm:
SELECT myField1, [isnull](myField1, '')
FROM myTable1
WHERE myField1 = someCondition
Yine de SQLite kullanıyorum ve isnull
işlevi tanımıyor gibi görünüyor . Ayrıca diğer veritabanlarında tanınan bazı eşdeğer olanları denedim ( NVL()
, IFNULL()
ve COALESCE()
), ancak SQLite bunlardan herhangi tanımak görünmüyor.
Bunu yapmanın daha iyi bir yolunu bilen veya önerisi olan var mı? Maalesef, veritabanı tüm alanlar için varsayılan değerlere sahip değil. Ayrıca, tablodaki LEFT JOIN
eşleşen kayıt olmayacağı için döndürülen alanların bazılarının boş olacağı bazı durumlarda bazı cümlecikler kullanmam gerekiyor LEFT JOIN
.