between_ci(X;Y;Z)
Returns a boolean value indicating whether a given value is between two other values and is case insensitive. (Available as of version 12.34)
Syntax
between_ci(X;Y;Z)
Input
| Argument | Type | Description |
|---|---|---|
X |
any simple type | The value to test within the range defined by Y and
Z |
Y |
any simple type | The minimum value of the range in which to check for XNote: The order of
Y and Z doesn't matter.If |
Z |
any simple type | The maximum value of the range in which to check for XNote: The order of
Y and Z doesn't matter.If |
Return Value
X>=YandX<=ZX>=ZandX<=Y
If X is N/A, the result is 0, unless either
Y or Z (or both) are N/A, in which case the result is
1.
If X, Y, and Z are not either all
numeric values or all string values, an error is returned.
Sample Usage
value |
begin |
end |
between_ci(value;begin;end) |
|---|---|---|---|
| 2 | 1 | 3 | 1 |
| 2 | 3 | 1 | 1 |
| 1.5 | 1 | 3 | 1 |
| 1.5 | 2.5 | 3.1 | 0 |
| 1.5 | 1.2 | 3.1 | 1 |
| 'bat' | 'Bar' | 'baz' | 1 |
| 'Bag' | 'bar' | 'baz' | 0 |
| 'Foo' | 'bar' | 'baz' | 0 |
| 1 | 3 | 0 | |
| 1 | 1 |
Example
In the "Sales Item Detail" table (pub.demo.retail.item), you can find only those rows whose values in the Item SKU column fall between 'A' and 'D'. To do this, create a computed column and apply thebetween_ci(X;Y;Z) function to the
sku column, where Y is
'A' and Z is
'D':<base table="pub.demo.retail.item"/>
<willbe name="between_result" value="between_ci(sku;'A';'D')"/>For
those values in the sku column that fall between
'A' and 'D', the result is 1.
Otherwise, the result is
0.

Additional Information
between_ci(X;Y;Z) is identical to
between(X;Y;Z) except that it performs
case-insensitive (in the English alphabet) comparisons.
