# Documentation Source Text

Check-in [93257a1a8d]

 ```55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 ``` ``` ^The ifnull() function returns a copy of its first non-NULL argument, or NULL if both arguments are NULL. ^Ifnull() must have exactly 2 arguments. ^The ifnull() function is equivalent to [coalesce()] with two arguments. } funcdef {iif(X,Y,Z)} {} { ^The iif(X,Y,Z) function returns the value Y if X is true, and Z otherwise. ^The iff(X,Y,Z) function is logically equivalent to and generates the same [bytecode] as the [CASE expression] "CASE WHEN X THEN Y ELSE Z END". } funcdef {instr(X,Y)} {} { ^The instr(X,Y) function finds the first occurrence of string Y within string X and returns the number of prior characters plus 1, or 0 if Y is nowhere found within X. ``` ``` | ``` ```55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 ``` ``` ^The ifnull() function returns a copy of its first non-NULL argument, or NULL if both arguments are NULL. ^Ifnull() must have exactly 2 arguments. ^The ifnull() function is equivalent to [coalesce()] with two arguments. } funcdef {iif(X,Y,Z)} {} { ^The iif(X,Y,Z) function returns the value Y if X is true, and Z otherwise. ^The iif(X,Y,Z) function is logically equivalent to and generates the same [bytecode] as the [CASE expression] "CASE WHEN X THEN Y ELSE Z END". } funcdef {instr(X,Y)} {} { ^The instr(X,Y) function finds the first occurrence of string Y within string X and returns the number of prior characters plus 1, or 0 if Y is nowhere found within X. ```