Tôi muốn tránh có nhiều lần kiểm tra như sau trong mã của mình:
myObj.someStringField = rdr.IsDBNull(someOrdinal)
? string.Empty
: rdr.GetString(someOrdinal);
Tôi đã nghĩ rằng tôi có thể chỉ cần truy vấn của tôi xử lý các null bằng cách làm một cái gì đó như sau:
SELECT myField1, [isnull](myField1, '')
FROM myTable1
WHERE myField1 = someCondition
Mặc dù vậy, tôi đang sử dụng SQLite và nó dường như không nhận ra isnull
chức năng. Tôi cũng đã thử một số những người tương đương được công nhận trong cơ sở dữ liệu khác ( NVL()
, IFNULL()
và COALESCE()
), nhưng SQLite dường như không nhận ra ai trong số họ.
Có ai có bất kỳ đề xuất hoặc biết về một cách tốt hơn để làm điều này. Thật không may, cơ sở dữ liệu không có giá trị mặc định cho tất cả các trường. Ngoài ra, tôi cần sử dụng một số LEFT JOIN
mệnh đề trong một số trường hợp, trong đó một số trường được trả về sẽ là giá trị rỗng vì bản ghi phù hợp trong LEFT JOIN
bảng sẽ không tồn tại.