How to Index on Numbers in a Character FieldLast reviewed: April 30, 1996Article ID: Q112839 |
The information in this article applies to:
SYMPTOMSIf a character field is made up of numbers and the database is indexed on this field, the numbers are not in the expected order. NOTE: This article assumes that all numbers must be positive.
CAUSEIn character fields, each character is evaluated one at a time from left to right. Therefore, the order may not match that of a numeric field.
RESOLUTIONTo get the character field in numerical order, you must create an index key using the PADL() function. The PADL() function will put a character to the left of the character expression in order to make the digits right aligned.
Example
MORE INFORMATIONTo illustrate the behavior described in the "Symptoms" section above, suppose you have a character field called IDNUM that has a width of 10 and is made up of all numbers. The following table shows how the numbers will be ordered.
IDNUM order IDNUM order when table on input is indexed on IDNUM --------------------------------------- 2 1 30 10 1 12 10 122 12 2 200 200 122 30The numbers that begin with "1" will come first, then the numbers that begin with "2", and so on because the index expression is evaluated based on one character at a time rather than on the whole numeric expression.
|
Additional reference words: VFoxWin 3.00 FoxMac FoxDos FoxWin 1.02 2.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |