Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL result different from VFP8
Message
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
00971482
Message ID:
00971487
Views:
20
If SET ANSI is off than VFP9 result is correct. In the query with SET ANSI OFF comparison is only performed to the lenght of the shortest operand regardless if it is on the left or the right of the '=' sign. IOW, ALLTRIM() of empty ln value will produce zero lenght string which will match any expression on the right.
The rules are different for comparison in non-sql statements and covered in help for SET EXACT command.

>I have an SQL command:
>
>SELECT IDNUM FROM CONTDB WHERE UPPER(ALLTRIM(ln)) = 'VOSS'
>
>In VFP8 22 recs returned in .78 secs
>In VFP9 243 recs return in 23.47 secs
>
>The extra records have a blank LN
>
>
>COUNT FOR UPPER(ALLTRIM(ln)) = 'VOSS' shows 22 in both 8&9
>
>I have an index on:
>
>UPPER(ALLTRIM(ln))
>
>Any idea?
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform