PRB: Use 'IS NULL' in SQL Queries when Calling from Visual InterDev
ID: Q231647
|
The information in this article applies to:
-
Microsoft Visual InterDev, versions 1.0, 6.0
SYMPTOMS
When you run a SQL Query from Visual InterDev that has "= NULL", the data returned may be different than the data returned from other tools, such as the ISQL/W tool that comes with SQL Server 6.5.
CAUSE
If the "Use ANSI nulls, paddings and warnings." check box is selected in your ODBC DSN settings, you will see this behavior. According to ANSI standards, the "= NULL" syntax is FALSE. Executing the following query against the pubs database in SQL Server from Visual InterDev returns no records:
"SELECT * FROM discounts WHERE stor_id = NULL"
RESOLUTION
There are two ways to work around this problem:
STATUS
This behavior is by design.
MORE INFORMATION
Steps to Reproduce Behavior
- From your ODBC Data Source Administrator, create a new system DSN using the pubs database. Make sure to select the Use ANSI nulls, paddings and warnings checkbox for your ODBC DSN settings.
- Add a Data Connection to your Visual InterDev project that uses the new DSN that you created.
- Double-click the Discounts table in the Data View.
- If the Query toolbar is not visible, right-click on a toolbar and select Query.
- Click the SQL icon and change the query that reads:
SELECT * FROM discounts
to
SELECT * FROM discounts WHERE stor_id = NULL
- Run the query by clicking the "!" icon from the Query toolbar.
- You will see that no records are returned for this query. Close the Query window for the discounts table, clear the Use ANSI nulls, paddings and warnings checkbox for your ODBC DSN settings.
- Right-click your Data Connection and select Refresh.
- Repeat steps 3 through 6.
You will now see the same query returning 2 records.
Additional query words:
Keywords : kbDatabase kbVisID100 kbVisID600 kbGrpASP kbDevStudio
Version : WINDOWS:1.0,6.0
Platform : WINDOWS
Issue type : kbprb