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