In the Open Query File (OPNQRYF) command, a zero-length literal
is denoted as a quoted string with nothing, not even a blank, between the
quotation marks (""). Zero-length literal support changes the results of a
comparison when used as the compare argument of the contains (*CT) function.
The concept of a zero-length literal was introduced in Version 2, Release
1, Modification 1.
Consider this statement:
QRYSLT('field *CT ""')
With zero-length literal support, the statement returns records that contain
anything. It is, in essence, a wildcard comparison for any number of characters
followed by any number of characters. It is equivalent to:
'field = %WLDCRD("**")'
Before zero-length literal support, (before Version 2, Release 1, Modification
1), the argument ("") was interpreted as a single-byte blank. The statement
returned records that contained a single blank somewhere in the field. It
was, in essence, a wildcard comparison for any number of characters, followed
by a blank, followed by any number of characters. It was equivalent to:
'field = %WLDCRD("* *")'
To get pre-Version 2, Release 1, Modification 1 results with the contains
function, you must code the QRYSLT to explicitly look for the blank:
QRYSLT('field *CT " "')