SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 41534: Incorrect results occur when Boolean logic is used in WHERE and HAVING clauses

DetailsCodeHotfixAboutRate It

The code found in the Full Code tab in this Note returns incorrect results and produces the following message in the SAS log file:

   NOTE: Table WORK.AAA created, with 4 rows and 1 columns.

Also, simple queries that use a WHERE clause like the following fail to apply the Boolean expression
((var > 3) = 0) for the SAS® Scalable Performance Data Server, and they give incorrect results:

   select * from spdslib.table WHERE ((var > 3) = 0 );

To prevent the problem, rewrite the Boolean expression by reversing the logic. For example:

   WHERE ((var > 3) = 0 ) is equivalent to WHERE (var <= 3) or WHERE NOT (var < 3)

Select the Hot Fix tab in this Note to access the hot fix for this problem.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SPDSScalable Performance Data ServerMicrosoft Windows Server 2003 Enterprise Edition4.4 TSM124.4 TSM13
Microsoft Windows Server 2003 Standard Edition4.4 TSM124.4 TSM13
Microsoft Windows Server 20084.4 TSM124.4 TSM13
Microsoft Windows 2000 Advanced Server4.4 TSM124.4 TSM13
Microsoft Windows 2000 Datacenter Server4.4 TSM124.4 TSM13
Microsoft Windows 2000 Server4.4 TSM124.4 TSM13
Microsoft Windows Server 2003 Datacenter Edition4.4 TSM124.4 TSM13
Solaris for x644.4 TSM124.4 TSM13
HP-UX IPF4.4 TSM124.4 TSM13
64-bit Enabled Solaris4.4 TSM124.4 TSM13
64-bit Enabled HP-UX4.4 TSM124.4 TSM13
64-bit Enabled AIX4.4 TSM124.4 TSM13
Microsoft Windows XP Professional4.4 TSM124.4 TSM13
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.