column_ifexists
If a column named `column_name` exists in the current row set, return its value for the current row; otherwise evaluate and return `default`.
Resolved at query compile time, so the column name must be a constant string and the default's type is ignored when the column exists.
Syntax
column_ifexists(column_name, default)Parameters
Prop
Type
Given a dynamic field
This parameter is string-only. In permissive mode — the default — almost every field arrives as a dynamic, so passing one works because Berserk injects asstring: extract-or-null, the value when it really is a string and null otherwise, so the call yields null (a predicate yields false). A property bag or array is therefore not matched, and tostring() is never applied implicitly — use it explicitly to match a bag's JSON text, keys included. Strict mode rejects the dynamic instead of coercing it. See String coercion and the asXXX family.
Returns: any
Examples
Example 1
datatable(a:int)[
1,
2,
3
]
| project resolved = column_ifexists("a", 0), missing = column_ifexists("nope", -1)| resolved (int) | missing (long) |
|---|---|
| 1 | -1 |
| 2 | -1 |
| 3 | -1 |