Click or drag to resize

SA0167 : Non-ISO standard comparison operator found

The topic describes the SA0167 analysis rule.

Message

Non-ISO standard comparison operator found

Description

It is advisable to use ISO standard comparison operators instead of non-ISO standard operators to help ensure optimal cross-platform and future version compatibility.

Not equal to: Use <> instead of !=

Greater than or equal to: Use >= instead of !<

Less than or equal to: Use <= instead of !>

While it is currently acceptable to use such non-ISO operators, you should consider that statements that you create might not be supported on other ISO-compliant database management systems.

Also, non-ISO standard comparison operators may not be supported on future versions of SQL Server.

Scope

The rule has a Batch scope and is applied only on the SQL script.

Parameters

Rule has no parameters.

Remarks

The rule does not need Analysis Context or SQL Connection.

Categories

Design Rules, New Rules

Additional Information

There is no additional info for this rule.

Example Test Script
 1-- Test Case 1: The violation should be reported
 2SELECT Column1 FROM Table1 WHERE Column1 != 1
 3-- Test Case 2: The violation should be reported
 4SELECT Column1 FROM Table1 WHERE Column1 !< 1
 5-- Test Case 3: The violation should be reported
 6SELECT Column1 FROM Table1 WHERE Column1 !> 1
 7
 8-- Test Case 4: A violation should not be reported
 9SELECT Column1 FROM Table1 WHERE Column1 <> 1
10-- Test Case 5: A violation should not be reported
11SELECT Column1 FROM Table1 WHERE Column1 >= 1
12-- Test Case 6: A violation should no be reported
13SELECT Column1 FROM Table1 WHERE Column1 <= 1

Analysis Results

 MessageLineColumn
1SA0167 : Non-ISO standard comparison operator found: !=241
2SA0167 : Non-ISO standard comparison operator found: !<441
3SA0167 : Non-ISO standard comparison operator found: !>641
See Also

Other Resources