github.com/mithrandie/csvq@v1.18.1/docs/_posts/2006-01-02-logical-functions.md (about) 1 --- 2 layout: default 3 title: Logical Functions - Reference Manual - csvq 4 category: reference 5 --- 6 7 # Logical Functions 8 9 | name | description | 10 | :- | :- | 11 | [COALESCE](#coalesce) | Return the first non-null value in arguments | 12 | [IF](#if) | Return a value by condition | 13 | [IFNULL](#ifnull) | Return a value whether passed value is null | 14 | [NULLIF](#nullif) | Return null whether passed values are equal | 15 16 ## Definitions 17 18 ### COALESCE 19 {: #coalesce} 20 21 ``` 22 COALESCE(value [, value ...]) 23 ``` 24 25 _value_ 26 : [value]({{ '/reference/value.html' | relative_url }}) 27 28 _return_ 29 : [primitive type]({{ '/reference/value.html#primitive_types' | relative_url }}) 30 31 Returns the first non-null _value_ in arguments. If there is no non-null _value_, then returns null. 32 33 ### IF 34 {: #if} 35 36 ``` 37 IF(condition, value1, value2) 38 ``` 39 40 _condition_ 41 : [value]({{ '/reference/value.html' | relative_url }}) 42 43 _value1_ 44 : [value]({{ '/reference/value.html' | relative_url }}) 45 46 _value2_ 47 : [value]({{ '/reference/value.html' | relative_url }}) 48 49 _return_ 50 : [primitive type]({{ '/reference/value.html#primitive_types' | relative_url }}) 51 52 If _condition_ is TRUE, then returns _value1_. Otherwise, returns _value2_. 53 54 ### IFNULL 55 {: #ifnull} 56 57 ``` 58 IFNULL(value1, value2) 59 ``` 60 61 _value1_ 62 : [value]({{ '/reference/value.html' | relative_url }}) 63 64 _value2_ 65 : [value]({{ '/reference/value.html' | relative_url }}) 66 67 _return_ 68 : [primitive type]({{ '/reference/value.html#primitive_types' | relative_url }}) 69 70 If _value1_ is null, then returns _value2_. Otherwise returns _value1_. 71 72 ### NULLIF 73 {: #nullif} 74 75 ``` 76 NULLIF(value1, value2) 77 ``` 78 79 _value1_ 80 : [value]({{ '/reference/value.html' | relative_url }}) 81 82 _value2_ 83 : [value]({{ '/reference/value.html' | relative_url }}) 84 85 _return_ 86 : [primitive type]({{ '/reference/value.html#primitive_types' | relative_url }}) 87 88 If _value1_ is equal to _value2_, returns null. Otherwise returns _value1_. 89