Supported operators and functions for pass conditions and row filters - Precisely Data Integrity Suite

Data Integrity Suite

Product
Spatial_Analytics
Data_Integration
Data_Enrichment
Data_Governance
Precisely_Data_Integrity_Suite
geo_addressing_1
Data_Observability
Data_Quality
dis_core_foundation
Services
Spatial Analytics
Data Integration
Data Enrichment
Data Governance
Geo Addressing
Data Observability
Data Quality
Core Foundation
ft:title
Data Integrity Suite
ft:locale
en-US
PublicationType
pt_product_guide
copyrightfirst
2000
copyrightlast
2026

This section highlights the essential operators and functions that the row filters and pass conditions support when you configure custom rules.

Supported operators

Numeric and temporal field operators

Use numeric operators to evaluate values in Integer, Long, Float, Date, DateTime, and Time fields.

Operator Binary/Unary Expression true when
is Binary Field value is equal to a literal or field value.
is not Binary Field value is not equal to a literal or field value.
is null Unary Field value is null.
is not null Unary Field value is not null.
Greater than Binary Field value is greater than a literal or field value.
Greater than or equal Binary Field value is greater than or equal to a literal or field value.
Less than Binary Field value is less than a literal or field value.
Less than or equal Binary Field value is less than or equal to a literal or field value.

String field operators

Use string operators to evaluate values in textual fields.

Operator Binary/Unary Expression true when
Equal Binary Field string value matches a literal or field value.
Not equal Binary Field string value does not match a literal or field value.
In Binary Field string value matches any one of two or more literal values. (Type and press Enter to add each literal value to the box.)

Logical field operators

Use logical operators to check values in fields that represent either true or false conditions.

Operator Binary/Unary Expression true when
Equal Binary Field value is equal either to a literal True or False value or to the value in another Boolean field.
Null Unary Field value is null.
Not null Unary Field value is not null.

Operators and their description

Operator Description
= (equals)

Selects records where a field's value is equal to a specified value. For example, Age = '30' selects records where the age is 30.

!= (not equal to)

Selects records where a field's value is not equal to a specified value.

> (greater than)

Selects records where a field's value is greater than a specified value. For example, Price > '50' selects records with prices higher than 50.

< (less than)

Selects records where a field's value is less than a specified value.

>= (greater than or equal to)

Selects records where a field's value is greater than or equal to a specified value.

<= (less than or equal to)

Selects records where a field's value is less than or equal to a specified value.

IN

Selects records where a field's value matches any value in a specified list. For example, City IN ['New York', 'Los Angeles'] selects records with cities matching either "New York" or "Los Angeles."

IS NULL Selects records where the specified field has a null or undefined value. For example, Phone Number IS NULL, if you have a database of customer information and you want to find all records where the "Phone Number" field is not filled in, you would use the "IS NULL" condition on the "Phone Number" field. Phone Number IS NULL
IS NOT NULL Selects records where the specified field has a defined (non-null) value. For example, Email IS NOT NULL, if you want to find all records in a dataset where the "Email" field has been filled in (i.e., it is not null), you would use the "IS NOT NULL" condition on the "Email" field.
AND

Logical operator that combines multiple conditions and returns results that satisfy all of them. For example, you may select data where Age > '25' AND Salary > '50000'.

OR

Logical operator that combines conditions and returns results that satisfy at least one of them. For example, you may select data where Category = 'Electronics' OR Price < '100'.

!

Logical operator that negates a condition, returning results that do not meet the specified criteria. For example, State != 'New York', you may select data where you do not have the "State" as "New York".

Functions and their description

Function Description Syntax Example
ucase Converts the values of input string to upper case characters.
ucase(string data) 

FIRSTNAME=ucase('Amy')

Returns‘AMY’

lcase Converts the values of input string to lowercase characters.
ucase(string data) 

LASTNAME=lcase('STAMP')

Returns‘stamp’

tcase Converts the values of input string to title case
tcase(string data)

tcase('MARY’)

Returns‘Mary’

trim Trims the leading and trailing white space of input string.
trim(string data) 

trim(' Amy ')

Returns 'Amy' ( By removing extra spaces)

ltrim Removes leading (left-side) spaces from a string.
ltrim(string data) 

ltrim(' AMY')=FirstName

Returns 'Amy' ( By removing extra spaces to the left of the attribute value)

rtrim Removes (right-side) white spaces from attribute values.
rtrim(string data) 

rtrim('AMY ')=FirstName

Returns 'Amy' ( By removing extra spaces to the right of the attribute value)

lpack Removes all spaces between elements and includes any trailing blanks.
lpack(string data) 

lpack(' Te st Engi neer')

Returns ' TestEngineer'

rpack Removes all spaces between elements and includes any leading blanks.
rpack(string data)

rpack('Te st Engi neer ')

Returns 'TestEngineer'

mask Generates a pattern to an actual input value, replacing certain characters with specified placeholders.
mask(string data)

mask(1H-3389BD)

Returns 'NA-NNNNAA'

substr Extracts a substring from a given string based on specified starting position and length.
substr(string data, int beginIndex) 

substr(string data, int beginIndex, int endIndex) 

substr('TESTENGINEER',3)

Returns 'TENGINEER'

substr('TESTENGINEER',4,7)

Returns 'ENG'

concat Joins two or more strings without space.
concat(string data1, string data2) 

concat('TEST-', 'ENGINEER')

Returns 'TEST-ENGINEER'

regexp Applies regular expressions to a string and returns the part of the string that matches the expression.
regexp(string data, string expression) 

regexp('TEST@ENGINEER','([A-Z])/w+')

Returns 'TEST'

replace Replaces occurrences of a specified substring or pattern in a string with another substring.
replace(string data, string oldString, string newString)

replace('TestEngineer','Engineer','Software')

Returns 'TestSoftware'

split Splits a string into an array of substrings based on a specified separator character.
split(string data, string separator, int number) 

split('Test-Engineer', '-', 1)

Returns 'Engineer'

split('Test-Engineer', '-', 0)

Returns 'Test'

now Converts current date-time to localDateTime.
now() 

now()

Returns the value based on your current system time:

2026-04-22 23:49:15

dt_diff

Calculate difference b/w two different or same format types of date-time values.
dt_diff(string leftData, string leftFormat, string rightData, string rightFormat)

dt_diff('17:48.22', 'HH:mm.ss','1848', 'HHmm')

Returns -3578.0

dt_diff('20', 'dd', '10', 'dd')

Returns 864000.0

dt_diff('2004-05-01', 'yyyy-MM-dd', '2003-06-01', 'yyyy-MM-dd')

Returns 28944000.0

isalpha

Checks if the string argument is alphabetic.

.

isalpha(string)
isalpha(string, string)

isalpha('TESTENGINEER')

Returns True

isalpha('SOFTWARE','ENGINEER')

Returns True

isalphanum

Checks if the string argument is alphanumeric.

isalphanum1(string data), isalphanum(string data, string allowedChars)

isalphanum('test1')

Returns True

isalphanum('test123', '@#')

Returns True

dt_is_date Checks whether given input is of date or not.
dt_is_date(string data, string format)

dt_is_date('03/12/2013','dd/MM/yyyy')

Returns True

dt_is_time

Checks whether given input is of time or not.

dt_is_time(string data, string format)

dt_is_time('23:55:12.234', 'hh:mm:ss.SSS')

Returns True

begins_with Checks whether a string starts with the value given or not.
begins_with(String data, String value)

begins_with ('Test Engineer','Best')

Returns False

ends_with Checks whether a string ends with the value given or not.
ends_with(String data , String stringNeedToSearch) 

ends_with('Hello I am from India', 'India')

Returns True

ends_with('Hello I am from India', 'from')

Returns False

not_in It excludes the values present in data.
not_in(String value, String[] data) 

not_in('Ravi',['Manish','Deepu','Meenu','Ravi'])

Returns False

not_in ('Ravi',['Manish','Deepu','Meenu'])

Returns True

to_date

Converts iso format string to LocalDate.

to_date(string data)

to_date('2023-12-20')

Returns the date value in the local date datatype form.

to_time

Converts iso format string to LocalTime

to_time(string data)

to_time('12:10:20')

Returns the time value in the local time datatype form.

to_datetime

Converts iso format string to LocalDateTime

to_datetime(string data) 

to_datetime('2023-08-20T12:10:20')

Returns the datetime in the Local Date Time form

reverse Reverses the string.
reverse(string data) 

reverse('hello')

Returns ‘olleh’

hexval Converts a hexadecimal value to a character.
hexval(string data)

hexval(‘hello’)

Returns 48656C6C6F

humanize Converts a string to make it look similar to written language text.
humanize(string data)

humanizeString('foo-bar_baz')

Returns Foo bar baz

metaphone Returns the metaphone code for a value.
Metaphone(string data)

metaphone("programming")

Returns PRKRMNK

soundex Returns a value's 4-character soundex code.
soundex(string data) 

soundex(“hello”)

Returns H400

standardize Converts a value into a standardized decimal, integer, or string.
standardize(string data, string type) 

standardize("hello","S")

Returns HELLO

insert Insert or overwrite one string into another string at the specified offset and overwrite options
insert(string data, string substring, int offset, string overwrite)

insert("Hello World", "Earth", 6, 5)

Returns Hello Earth

to_string

Converts a data to string value.

to_string(any data)

to_string(123)

Returns '123'

dt_name

Extracts the specified part of date-time and return the localized name.

dt_name(string data, string format, string part)

dt_name('2014-02-08', 'yyyy-MM-dd', 'month')

Returns 'February'

dt_min

Compares given date-time inputs and return minimum of them.

dt_min(string leftData, string leftFormat, string rightData, string rightFormat )

dt_min('03/12/2013', 'dd/MM/yyyy', '2014-11-23', 'yyyy-MM-dd')

Returns '03/12/2013'

dt_max

Compares given date-time inputs and return maximum of them.

dt_max(string leftData, string leftFormat, string rightData, string rightFormat) 

dt_max('03/12/2013', 'dd/MM/yyyy', '2014-11-23', 'yyyy-MM-dd')

Returns ‘2014-11-23'

dt_now

Returns current date-time in given format.

dt_now(string format) 

dt_now('yyyy-MM-dd')

Returns '2024-11-05'

dt_now('yyyy-MM-dd HH:mm')

Returns '2014-06-16 16:11'

dt_now('MM-dd')

Returns '06-16'

seconds_to_date

Converts seconds to given date-time format.

seconds_to_date(long seconds, string format) 

seconds_to_date(1322907330, 'yyyy-M-d hh:mm:ss')

Returns 2011-12-03 10:15:30

dt_convert

Converts date-time from original format to new specified format.

dt_convert(string data, string current_format, string current_format) 

dt_convert('03/12/2013', 'dd/MM/yyyy', 'yyyy-MM-dd')

Returns 2013-12-03

dt_ceiling

Updates the specified part of date-time to maximum level.
dt_ceiling(string data, string format, string part) 

dt_ceiling('2014-02-08', 'yyyy-MM-dd', 'month'

Returns 2014-03-01

dt_add

Increments or decrements the given part of date or time.

dt_add(string data , string format, string part, long increment)

dt_add('03/06/2022','dd/MM/yyyy','Day',2)

Returns '05/06/2022'

dt_add('03/06/2022','dd/MM/yyyy','Day',-2)

Returns '01/06/2022’

append

Appends list of string to a single string

append(string[] data)

append(['hello', 'world'])

Returns ‘hello world’

length

Returns length of string

length(string data) 

length('Address_1')

Returns 9

to_number

Converts a numeric string to number.

to_number('12345') 

to_number('12345')

Returns 12345

to_number('12.23')

Returns 12.23

abs

Returns the absolute value of a number

abs(double data)

abs(7.25)

Returns 7.25

ceiling

Rounds a number rounded UP to the nearest integer.
ceiling(double data) 

ceiling(2.75)

Returns 3

floor

Rounds a number DOWN to the nearest integer

floor(double data) 

floor(3.45)

Returns 3

square_root

Returns the square root of a number

square_root(double data)

square_root(81)

Returns 9

to_int

Converts double value to integer value.

to_int(double data) 

to_int(22.523)

Returns 22

seconds_in

Returns number of seconds within a time period.

seconds_in(string n_time)

seconds_in('2 days')

Returns 172,800

to_decimal

Converts integer value to decimal value.
to_decimal(long data) 

to_decimal(22)

Returns 22.0

max

Returns larger of two numbers.

max(double data1, double data2)

max(5, 10)

Returns 10

min

Returns smaller value of two numbers.

min(double data1, double data2) 

max(5, 10)

Returns 5

divide_int

Returns the quotient of the division

divide_int(double dividend, double divisor) 

divide_int(20, 10)

Returns 2

rem

Returns the remainder of the division

rem(double dividend, double divisor)

rem(20, 10)

Returns 0

percent

Returns the percentage that one number is of another number

percent(double total, double part) 

percent(20, 10)

Returns 200%

power

Calculates the values of one number raised to the power of another.

power(double base, double exp) 

power(3, 2)

Returns 9

round

Rounds a decimal number according to the rounding mode.

round(double data, int digits, int roundingMode) 

round(4.55, 1, 1)

Returns 4.5

occstr

Returns the position of substring parsing the string from the specified direction.

occstr(string data, string substring, string direction) 

occstr('ABCDEFGHI','DEF','R')

Returns 4

occstr('ABCDEFGHI','EF','L')

Returns 5

to_epoch

Returns epoch seconds of date-time.

to_epoch(string data) 

o_epoch('2023-08-20T12:10:20')

Returns 1692535820

array_length

Returns the length of the given list.

array_length(any[]) 

array_length([10,15,40])

Returns 3

date_to_seconds

Converts iso format string to UTC seconds.
date_to_seconds(string data)

date_to_seconds('2023-12-27T10:34:08Z')

Returns 170367324

dt_part

Extracts the specified part of date-time and return the value as an integer.

dt_part(string data, string format, string part)

dt_part('04/15/2004', 'MM/dd/yyyy', 'Year')

Returns 2004

dt_part('04/15/2004', 'MM/dd/yyyy', 'Month')

Returns 4

isblank

Checks if the string argument is blank.

isblank(string data) 

isblank('')

Returns True

isnumeric

Checks if the string argument is numeric.
isnumeric(string data)

isnumeric('123')

Returns True

isnumeric('12.34')

Returns True

isnumeric('a123b')

Returns False

isnull

Checks if the string argument is null.

isnull(string data) 

isnull('test')

Returns False

isempty

Checks if the string argument is empty.

isempty(string data)

isempty('')

Returns True

isempty('test')

Returns False

islogical

Checks if the string argument is boolean.

islogical(string data) 

islogical(true)

Returns True

isnumber

Checks if the string argument is number.

isnumber(string data) 

isnumber(12)

Returns True

contains

Checks if the string argument contains the search string.

contains(string data, string searchTerm) 

contains('testuser@gmail.com','@')

Returns True

contains('testuser@gmail.com','-')

Returns False

matches

Checks if the string argument matches the regex.

matches(string data, string regex)

matches('test', '.*es.*')

Returns True

Note: When using date-related functions, ensure the syntax is correct.

Syntax: dt_name(String date, String format, String part)

Example: dt_name('16-08-2026', 'dd-MM-yyyy', 'day')

If the date isn't stored as a String in the table, convert it with the to_string() function.

Example: dt_name(to_string(DATE_COLUMN_NAME), 'dd-MM-yyyy', 'day').

Complex query examples combining multiple functions
  1. Check if a string is numeric and contains a specific character

    Query: isnumber(data) && contains(data, 'CHARACTER')

    Example: isnumber('123.4$') && contains('123.4$', '$')

    Returns true.

  2. Check if the data is a logical value or an empty string

    Query: islogical(data) || isempty(data)

    Example: islogical('') || isempty('')

    Returns true since the string is empty.

  3. Check if a string is numeric but not a whole number

    Query: isnumeric(data) && contains(data, '.')

    Example: isnumeric('12.34') && contains('12.34', '.')islogical('') || isempty('')

    Returns true since the string is the string is numeric and contains a dot.

  4. Check if a string matches a regex and is not null

    Query: !isempty(data) && matches(data, '^[A-Za-z0-9]+$')

    Example: !isempty('User123') && matches('User123', '^[A-Za-z0-9]+$')

    Returns true.

Dimensions supported in Custom rules:

Dimension Description
Completeness Checks for completeness in the configured custom rule
Validity Checks if the entered values are valid thereby eliminating any void or null values.
Consistency Checks for uniformity of information across systems
Accuracy Reflects the degree to which information reflects correctly
Timeliness Ensures the information is available when required
Uniqueness Ensures each data element appears only once in the database.
Note: These dimensions are only used for tagging which helps in easy identification of the dimension based on which the rule is evaluated. These dimensions will not impact the rule evaluation.