Supported expressions 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 topic describes the operators and functions that row filters and pass conditions support when you configure custom rules.

Numeric and temporal field operators

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

Operator Binary or 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 or 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 evaluate fields that contain true or false values.

Operator Binary or unary Expression true when
Equal Binary Field value is equal to either 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

Operator Description
= (equals)

Selects records where a field 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 value is not equal to a specified value.

> (greater than)

Selects records where a field 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 value is less than a specified value.

>= (greater than or equal to)

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

<= (less than or equal to)

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

IN

Selects records where a field 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, use Phone Number IS NULL to find records where the phone number field is empty.
IS NOT NULL Selects records where the specified field has a defined (non-null) value. For example, use Email IS NOT NULL to find records where the email field is filled in.
AND

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

OR

Logical operator for conditions and returns results that satisfy at least one of them. For example, 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' selects data where state is not New York.

Functions

Function Description Syntax Example
ucase Converts the input string to uppercase characters.
ucase(string data) 

FIRSTNAME=ucase('Amy')

Returns'AMY'

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

LASTNAME=lcase('STAMP')

Returns'stamp'

tcase Converts the input string to title case.
tcase(string data)

tcase('MARY')

Returns'Mary'

trim Removes leading and trailing white space from the 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 trailing (right-side) spaces from a string.
rtrim(string data) 

rtrim('AMY ')=FirstName

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

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

lpack(' Te st Engi neer')

Returns ' TestEngineer'

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

rpack('Te st Engi neer ')

Returns 'TestEngineer'

mask Generates a pattern for an 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 the current date-time to localDateTime.
now() 

now()

Returns the value based on your current system time:

2026-04-22 23:49:15

dt_diff

Calculates the difference between two date-time values in the same or different formats.
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 the input is a date.
dt_is_date(string data, string format)

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

Returns True

dt_is_time

Checks whether the input is a time value.

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 specified value.
begins_with(String data, String value)

begins_with ('Test Engineer','Best')

Returns False

ends_with Checks whether a string ends with the specified value.
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 Excludes values present in the 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 an 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 an 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 an 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 a human-readable text format.
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 Inserts or overwrites one string in another 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 data to a string value.

to_string(any data)

to_string(123)

Returns '123'

dt_name

Extracts the specified part of a date-time value and returns 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 date-time inputs and returns the minimum value.

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 date-time inputs and returns the maximum value.

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 the current date-time in the specified 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 the specified 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 the original format to the 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 a date-time value to its 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 specified date or time part.

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 a list of strings to a single string.

append(string[] data)

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

Returns 'hello world'

length

Returns the length of a string.

length(string data) 

length('Address_1')

Returns 9

to_number

Converts a numeric string to a 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 the larger of two numbers.

max(double data1, double data2)

max(5, 10)

Returns 10

min

Returns the 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 a substring by parsing the string in 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 for a date-time value.

to_epoch(string data) 

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

Returns 1692535820

array_length

Returns the length of the specified list.

array_length(any[]) 

array_length([10,15,40])

Returns 3

date_to_seconds

Converts an 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 a date-time value and returns it 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 can be evaluated as a logical value. The function returns true for true, false, yes, no, Y, N, and empty string values. It returns false for numeric values such as 1 and 0.

islogical(string data) 

islogical(true)

Returns True

islogical('yes')

Returns True

islogical('Y')

Returns True

islogical(1)

Returns False

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 is not 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) AND contains(data, 'CHARACTER')

    Example: isnumber('123.4$') AND 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) AND contains(data, '.')

    Example: isnumeric('12.34') AND contains('12.34', '.')

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

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

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

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

    Returns true.

Dimensions supported in Custom rules

Dimension Description
Completeness Checks completeness in the configured custom rule.
Validity Checks whether entered values are valid, eliminating void or null values.
Consistency Checks for consistency of information across systems.
Accuracy Reflects how accurately information represents actual values.
Timeliness Checks whether information is available when required.
Uniqueness Checks whether each data element appears only once in the database.
Note: These dimensions are only used for tagging, which helps you identify the dimension for rule evaluation. These dimensions do not affect rule evaluation.