【发布时间】:2010-10-22 09:53:40
【问题描述】:
我想避免在我的代码中进行许多类似以下的检查:
myObj.someStringField = rdr.IsDBNull(someOrdinal)
? string.Empty
: rdr.GetString(someOrdinal);
我想我可以通过执行以下操作让我的查询处理空值:
SELECT myField1, [isnull](myField1, '')
FROM myTable1
WHERE myField1 = someCondition
虽然我正在使用 SQLite,但它似乎无法识别 isnull 函数。我还尝试了一些其他数据库中识别的等效项(NVL()、IFNULL() 和 COALESCE()),但 SQLite 似乎无法识别其中任何一个。
有没有人有任何建议或知道更好的方法来做到这一点。不幸的是,数据库没有所有字段的默认值。另外,在某些情况下我需要使用一些LEFT JOIN 子句,因为LEFT JOIN 表中的匹配记录将不存在,所以返回的某些字段将为空。
【问题讨论】: