Try OpenEdge Now
skip to main content
DataServer for Microsoft SQL Server
Initial Programming Considerations : Data types : Zero-length character strings
 

Zero-length character strings

When you use the Unknown value (?) in a WHERE clause with the DataServer, the Unknown value (?) satisfies only the equals (=) or not equal (<>) operator. You can also use a zero-length character string in a WHERE clause. The Unknown value (?) and zero-length character string are not the same. The Unknown value (?) translates to a NULL, which is a special marker in a data source that supports NULLs used to represent missing information. On the other hand, zero-length strings and blank columns contain actual values. Both of the following statements find the first customer record with a zero-length string in the address2 field. Notice the space between the quotation marks in the first statement:
FIND FIRST customer WHERE customer.address2 EQ " ".
FIND FIRST customer WHERE customer.address2 EQ "".
Although "" and " " evaluate the same way in a WHERE clause, they have different results when you use them with the BEGINS function. For example, the following statement retrieves all customer names except those that have the Unknown value (?):
FOR EACH customer WHERE customer.name BEGINS "":
The following statement uses "" to retrieve only those names that begin with a space:
FOR EACH customer WHERE customer.name BEGINS " ":
* _BLANKDEFAULT