SQLite эквивалентно ISNULL (), NVL (), IFNULL () или COALESCE()
Я хотел бы избежать многих проверок, как показано ниже в моем коде:
myObj.someStringField = rdr.IsDBNull(someOrdinal)
? string.Empty
: rdr.GetString(someOrdinal);
я решил, что я мог бы просто мой запрос заботиться о нулях, делая что-то вроде этого:
SELECT myField1, [isnull](myField1, '')
FROM myTable1
WHERE myField1 = someCondition
я использую SQLite, хотя и не похоже, что он распознает
5 ответов:
IFNULLсмотрите здесь: http://www.sqlite.org/lang_corefunc.html#ifnullнет скобок вокруг функции
попробуй такое
ifnull(X,Y)Эл.г
select ifnull(InfoDetail,'') InfoDetail; -- this will replace null with '' select ifnull(NULL,'THIS IS NULL');-- More clearly....The
ifnull()функция возвращает копию своего первого ненулевого аргумента или NULL, если оба аргумента равны NULL.Ifnull()должно быть ровно 2 аргумента. Элемент
Если нет
ISNULL()метод, вы можете использовать это выражение вместо:CASE WHEN fieldname IS NULL THEN 0 ELSE fieldname ENDэто работает так же, как
ISNULL(fieldname, 0).
использовать
IS NULLилиIS NOT NULLв предложении WHERE-вместо метода ISNULL ():SELECT myField1 FROM myTable1 WHERE myField1 IS NOT NULL
вы можете легко определить такую функцию и использовать ее затем:
ifnull <- function(x,y) { if(is.na(x)==TRUE) return (y) else return (x); }или же уменьшенная версия:
ifnull <- function(x,y) {if(is.na(x)==TRUE) return (y) else return (x);}
Comments