Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Previous sectionNext section


Performs a greater than comparison on elements of two dynamic arrays.




dynarray An expression that resolves to a dynamic array.


The GTS function compares each corresponding numeric element from two dynamic arrays and determines which value is greater. It returns a dynamic array of boolean values in which each element comparison is represented. It returns a 1 if the dynarray1 element value is greater than the dynarray2 element value. It returns a 0 if the dynarray1 element value is equal to or less than the dynarray2 element value.

GTS converts numbers to canonical form, resolving multiple signs and removing leading and trailing zeros from element values before making the comparison. If an element value is a missing element, a null string, or a non-numeric value, GTS assigns it a value of 0 for the purpose of this comparison.

If the two dynamic arrays have different numbers of elements, the returned dynamic array has the number of elements of the longer dynamic array. By default, the shorter dynamic array is padded with 0 value elements for the purpose of comparison. You can also use the REUSE function to define behavior when specifying two dynamic arrays with different numbers of elements.

For two elements to be compared, they must be on the same dynamic array level. For example, you cannot compare a value mark (@VM) dynamic array element to a subvalue mark (@SM) dynamic array element.


The following example uses the GTS function to return a greater than comparison for each of the elements in dynamic arrays a and b. It also performs a GES (greater than or equal) comparison on the same dynamic arrays:

      ! returns 0ý1ý0ý1
      ! returns 1ý1ý0ý1
Copy code to clipboard

The following example compares dynamic arrays of different lengths. Note that missing elements within the dynamic array (@VM:@VM) are compared, but unmatched elements from the longer array always return 1:

      ! returns 1ý1ý0ý0ý1ý1ý1
      ! returns 0ý0ý1ý1ý0ý1ý1
Copy code to clipboard

See Also