BEGINS operator
- Last Updated: January 21, 2026
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
Tests a character expression to see if that expression begins with a second character expression.
Syntax
|
- expression1
- An expression that has a CHARACTER or LONGCHAR value that you test to see if it begins with expression2.
- expression2
- An expression that has a character value that you want to compare to the beginning of expression1. If you specify a null value ("") for expression2, the AVM returns all the records in the database.
Examples
In this procedure, the user supplies a customer name or the first characters of a customer name. The procedure finds customer records where the name field begins with the user's input. If the customer file is indexed on the name field, this procedure is very efficient and retrieves only the selected records.
r-bgns.p
|
The next procedure lists exactly the same customers. However, it is much less efficient because it retrieves and examines all customer records, and only displays the ones with the appropriate names.
r-bgns2.p
|
Notes
- The
BEGINSoperator is double-byte enabled. You can use theBEGINSoperator to compare strings containing double-byte characters. - When you use the
BEGINSoperator to compare LONGCHAR fields,BEGINSalways uses the-cpcollcollation. BEGINSis useful in aWHEREphrase that specifies which records should be retrieved in aFOR EACHblock. Unlike theMATCHESoperator, which requires that all records in the file be scanned,BEGINSuses an index wherever possible.- Most character comparisons are case insensitive in ABL. By default, all
characters are converted to uppercase prior to comparisons. However, you can define fields
and variables as case sensitive (use if strict ANSI SQL adherence is required). If either
of the character expressions passed to
BEGINSis a field or variable defined as case sensitive, the comparison is case sensitive. In a case-sensitive comparison "SMITH" does not equal "Smith". - ABL considers trailing blanks in the
BEGINSoperator. For example, this statement is FALSE:"x" BEGINS "x "This is different than comparisons, where trailing blanks are ignored. For example, this statement is TRUE:
"x" = "x " - The
BEGINSoperator does not use a collation to compare character expressions by default. However, you can apply collation sensitivity by using the Collation-Sensitive Operator (-collop).